/*
 * Made for RSBot.org only.
 * You may NOT redistribute this outside RSBot.org.
 *
 *
 * Author: 'NeN
 *
 * If this script is found on Seedbot.org it is allowed 
 * as long as it is released by me or $esame St.
 * 
 * Anyone who wishes to convert this script for another bot please
 * ask me before doing so.
 * 
 * I have the full rights to sell or remove this script.
 *
 * Version 1.0 - Construction started on 9/05/09.
 * - Original Release.
 */


import javax.swing.JOptionPane;
import javax.swing.JFileChooser; 

import java.util.Map;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Point;
import java.io.*;
import java.net.*;
import java.awt.Font;

import com.speljohan.rsbot.script.Calculations;
import com.speljohan.rsbot.script.Script;
import com.speljohan.rsbot.event.listeners.PaintListener;
import com.speljohan.rsbot.event.events.ServerMessageEvent;
import com.speljohan.rsbot.script.wrappers.RSInterface;
import com.speljohan.rsbot.script.wrappers.RSObject;
import com.speljohan.rsbot.script.wrappers.RSTile;
import com.speljohan.rsbot.event.listeners.ServerMessageListener;
import java.io.IOException;
import com.speljohan.rsbot.script.wrappers.*;
import com.speljohan.rsbot.script.GEItemInfo;

/* NEED TO DO:
 * Add More Banking
 */


public class NeNiMinE extends Script implements ServerMessageListener, PaintListener {

	   boolean powerMode = false;
	   boolean showPaint = false;
	   boolean showStatePai = false;
	   boolean showScriptIPai = false;
	   boolean showAddedInfoPai = false;
	   boolean changeTabs = false;
	   boolean moveMouse = false;
	   boolean moveCam = false;
	   boolean equipAxe = false;
	   boolean quickMine = false;
	   boolean START_SCRIPT = false;
	    public String rockWeM;

	    public String rockWeM2;
	    public String rockWeM3;
	    int BankBooth;
	    public int startMineLevel;
	    int moneyG;
		int				startLevel;
		int				startExp;
		int				oldExp;
		int				countToNext;
		int 			oldLevels;
		long			lastAvgCheck;
		int				avgPerHour;
		int				rockCount;
		int				oldRockCount;
		int				xpPerRock;
		long			startTime;
		long			lastCheck;
		int	index = STAT_MINING;
		int levels;
		int exp = 0;
		int smokeRocks;
		int pickFix;
		int lettercount;
		int lettercount2;
		int lettercount3;
		boolean canBank = false;
		int Runs;
		int oresGot;
		int mouseSpeed;
		String mouseSpeedG;
		public GEItemInfo  addyInfo = grandExchange.loadItemInfo( 449 );
		public GEItemInfo  copperInfo = grandExchange.loadItemInfo( 436 );
		public GEItemInfo  goldInfo = grandExchange.loadItemInfo( 444 );
		public GEItemInfo  ironInfo = grandExchange.loadItemInfo( 440 );
		public GEItemInfo  mithrilInfo = grandExchange.loadItemInfo( 447 );
		public GEItemInfo  runeInfo = grandExchange.loadItemInfo( 451 );
		public GEItemInfo  silverInfo = grandExchange.loadItemInfo( 442 );
		public GEItemInfo  tinInfo = grandExchange.loadItemInfo( 438 );
		public GEItemInfo  clayInfo = grandExchange.loadItemInfo( 434 );
		public GEItemInfo  sandStoneInfo = grandExchange.loadItemInfo( 6975 );
		public GEItemInfo  coalInfo = grandExchange.loadItemInfo( 453 );
		public GEItemInfo  graniteInfo = grandExchange.loadItemInfo( 6983 );
		boolean method1mine = false;
		boolean method2mine = false;

	   
		int[ ]			picks = new int[ ] {
				1265,			// Bronze Pick axe
				1267,			// Iron pick axe.
				1269,			// Steel Pick axe
				1273,			// Mithril Pick axe
				1271,			// Adamanite Pick axe.
				1275			// Rune pick axe
			};
	   

// Rocks
	    public int RockType[];
	    public int RockType2[];
	    public int RockType3[];
		public int[] Copper = {11938, 11936, 11963, 11937, 9709, 9708, 9710, 11960, 11962, 11961, 31080, 31082};
		public int[] Tin = {11935, 11934, 11933, 11959, 11957, 11959, 11958, 9714, 9716, 31079, 31077, 31078};
		public int[] Gold = {37312, 37310, 9722, 9720, 15505, 15503, 11185, 11184, 11183, 9720, 9722, 37313, 31065, 31066};
		public int[] Silver = {37305, 37304, 37306, 9714, 9716, 9713, 11950, 11949, 11948, 11950};
		public int[] Mithril = {11942, 11944, 11943, 32438, 32439, 31086, 31088};
		public int[] Adamant = {11939, 11941, 32435, 32436, 11940, 31083, 31084, 31085, 31083};
		public int[] Clay = {711, 9713, 15503, 15504, 15505, 31062, 31063};
		public int[] Coal = {11930, 11931, 11932, 11930, 11963, 11964, 2096, 2097, 14850, 14851, 14852, 32426, 32426, 31068, 31069, 31070, 31068};
		public int[] Sandstone = {10946};
		public int[] nullObjects = {5348};
		public int[] Granite = {10947};
		public int[] Iron = {2093, 2093, 2092, 9717, 9719, 9717, 9718, 11956, 11955, 11954, 37307, 37309, 31072, 31073, 31071};
		public int[] Runite = {451}; 
		public int[] ores = {453,434, 449, 436, 444, 440, 447, 451, 442, 438, 6983,6981,6979,6977,6971,6973,6975};
		boolean CopperCheck;
		boolean TinCheck;
		boolean GoldCheck;
		boolean SilverCheck;
		boolean MithrilCheck;
		boolean AdamantCheck;    
		boolean ClayCheck;
		boolean CoalCheck;
		boolean SandstoneCheck;
		boolean GraniteCheck;
		boolean IronCheck;
		boolean RuniteCheck;

		public String getScriptDescription() {
			String html = "<hmtl>";
			html += "<center>";
			html += "<h2>All settings can be set on the GUI, select your character and Start!</h2>";
			html += "</center>";
			html += "</html>";
			return html;
		}
    
	   public String getName( ) {
		      return( "MINE!" );
		   }

		   public double getVersion( ) {
		      return( 1.8 );
		   }

		   public String getAuthor( ) {
		      return( "'NeN" );
		   }


		   public String getScriptCategory() {
		      return( "Mining" );
		   }
		   
	    	public static double checkVersion() {
	    		try {
	    			URL url = new URL("http://sesamest.netne.net/MineVersion.php");
	    			BufferedReader br = new BufferedReader(new InputStreamReader(
	    					new BufferedInputStream(url.openConnection().getInputStream())));
	    			double ver = Double.parseDouble(br.readLine().trim());
	    			br.close();
	    			return ver;
	    		} catch (IOException e) {
	    			throw new RuntimeException(e);
	    		}
	    	}
	    	//walking
	        public void walkToBank() throws InterruptedException { //add if statement here instead
	        	runEnable();
	        	rotate();
	        	if (VarrockEast == true) {
	        	walkToBankCode().walkToEnd();
	        	}
	        	if (VarrockSWest == true) {
	        		walkToBankCodeVSW().walkToEnd();	
	        	}
	        	if (AlKharid == true) {
		        	walkToBankCodeALK().walkToEnd();
		        	}
	        }
	        

	        
	        public RSTilePath walkToMineCodeL() {
	        	LumbPathArray = new RSTilePath[] {
	                    (new RSTilePath(new RSTile[] {
	                	        new RSTile(3233, 3222),  new RSTile(3246, 3226),
	               			 new RSTile(3259, 3234),  new RSTile(3255, 3249),
	               			 new RSTile(3249, 3261),  new RSTile(3246, 3273),
	               			 new RSTile(3238, 3283),  new RSTile(3238, 3297),
	               			 new RSTile(3244, 3310),  new RSTile(3253, 3320),
	               			 new RSTile(3266, 3326),  new RSTile(3278, 3333),
	               			 new RSTile(3288, 3345),  new RSTile(3296, 3356),
	               			 new RSTile(3293, 3366),  new RSTile(3286, 3368)
	                    	 }, this)),

	                  (new RSTilePath(new RSTile[] {
	              	        new RSTile(3233, 3222),  new RSTile(3246, 3226),
	           			 new RSTile(3259, 3234),  new RSTile(3255, 3249),
	           			 new RSTile(3249, 3261),  new RSTile(3246, 3273),
	           			 new RSTile(3238, 3283),  new RSTile(3238, 3297),
	           			 new RSTile(3244, 3310),  new RSTile(3253, 3320),
	           			 new RSTile(3266, 3326),  new RSTile(3278, 3333),
	           			 new RSTile(3288, 3345),  new RSTile(3296, 3356),
	           			 new RSTile(3293, 3366),  new RSTile(3286, 3368)
	                		}, this)),

	                                    };
	        	
	            int i = random(0, 2);
	            return LumbPathArray[i];

}
	        
	        public RSTilePath walkToMineCodeVSWL() {
	        	LumbPathArray = new RSTilePath[] {
	                    (new RSTilePath(new RSTile[] {
	                    		new RSTile(3216, 3219), new RSTile(3229, 3218), 
	                    		new RSTile(3232, 3222), new RSTile(3230, 3231), 
	                    		new RSTile(3228, 3242), new RSTile(3218, 3253), 
	                    		new RSTile(3231, 3262), new RSTile(3238, 3277), 
	                    		new RSTile(3239, 3294), new RSTile(3231, 3306), 
	                    		new RSTile(3224, 3319), new RSTile(3215, 3330), 
	                    		new RSTile(3205, 3341), new RSTile(3201, 3356), 
	                    		new RSTile(3191, 3369), new RSTile(3183, 3374)
	                    	 }, this)),

	                  (new RSTilePath(new RSTile[] {
	                    		new RSTile(3216, 3219), new RSTile(3229, 3218), 
	                    		new RSTile(3232, 3222), new RSTile(3230, 3231), 
	                    		new RSTile(3228, 3242), new RSTile(3218, 3253), 
	                    		new RSTile(3231, 3262), new RSTile(3238, 3277), 
	                    		new RSTile(3239, 3294), new RSTile(3231, 3306), 
	                    		new RSTile(3224, 3319), new RSTile(3215, 3330), 
	                    		new RSTile(3205, 3341), new RSTile(3201, 3356), 
	                    		new RSTile(3191, 3369), new RSTile(3183, 3374)
	                		}, this)),

	                                    };
	        	
	            int i = random(0, 2);
	            return LumbPathArray[i];

}
	        
	        public RSTilePath walkToMineCodeALKL() {
	        	LumbPathArray = new RSTilePath[] {
	                    (new RSTilePath(new RSTile[] {
	                    		new RSTile(3231, 3218),  new RSTile(3237, 3225),
	               			 new RSTile(3245, 3225),  new RSTile(3258, 3235),
	               			 new RSTile(3252, 3251),  new RSTile(3248, 3267),
	               			 new RSTile(3239, 3283),  new RSTile(3238, 3298),
	               			 new RSTile(3246, 3312),  new RSTile(3259, 3323),
	               			 new RSTile(3274, 3330),  new RSTile(3274, 3311),
	               			 new RSTile(3275, 3293),  new RSTile(3274, 3275),
	               			 new RSTile(3274, 3257),  new RSTile(3274, 3241),
	               			 new RSTile(3274, 3224),  new RSTile(3275, 3207),
	               			 new RSTile(3280, 3191),  new RSTile(3276, 3175),
	               			 new RSTile(3269, 3167)
	                    	 }, this)),

	                  (new RSTilePath(new RSTile[] {
	                		  new RSTile(3231, 3218),  new RSTile(3237, 3225),
	             			 new RSTile(3245, 3225),  new RSTile(3258, 3235),
	             			 new RSTile(3252, 3251),  new RSTile(3248, 3267),
	             			 new RSTile(3239, 3283),  new RSTile(3238, 3298),
	             			 new RSTile(3246, 3312),  new RSTile(3259, 3323),
	             			 new RSTile(3274, 3330),  new RSTile(3274, 3311),
	             			 new RSTile(3275, 3293),  new RSTile(3274, 3275),
	             			 new RSTile(3274, 3257),  new RSTile(3274, 3241),
	             			 new RSTile(3274, 3224),  new RSTile(3275, 3207),
	             			 new RSTile(3280, 3191),  new RSTile(3276, 3175),
	             			 new RSTile(3269, 3167)
	                		}, this)),

	                                    };
	        	
	            int i = random(0, 2);
	            return LumbPathArray[i];

}
	        
	        public String justWalk;
	        
	        public void walkBackL() throws InterruptedException {
	        	runEnable();
	        	rotate();
	 if (canBank == true) {
	        	if (VarrockEast == true) {
		        	walkToMineCodeL().walkToEnd();
		        	}
	        	if (AlKharid == true) {
		        	walkToMineCodeALKL().walkToEnd();
		        	}
		        	if (VarrockSWest == true) {
		        		walkToMineCodeVSWL().walkToEnd();	
		        	}
	 } else {
		 if (justWalk == "Al-Kharid") {
			 walkToMineCodeALKL().walkToEnd(); 
		 }
		 if (justWalk == "Varrock S-West") {
			 walkToMineCodeVSWL().walkToEnd();
		 }
		 if (justWalk == "Varrock East") {
			 walkToMineCodeL().walkToEnd();
		 }
	 }
	        }
	        
	        public void walkToMine() throws InterruptedException {
	        	runEnable();
	        	rotate();
	        	if (VarrockEast == true) {
		        	walkToMineCode().walkToEnd();
		        	}
	        	if (AlKharid == true) {
		        	walkToMineCodeALK().walkToEnd();
		        	}
		        	if (VarrockSWest == true) {
		        		walkToMineCodeVSW().walkToEnd();	
		        	}
	        }
	        
	        
	        public void runEnable() {
	            if (getEnergy() >= randomRunValue) setRun(true);
	            wait(random(400,500));
	            randomRunValue = random ( 5, 100 );
	       }
	        
	        	        
	        
	        private RSTilePath[] BankPathArray;
	        private RSTilePath[] MinePathArray;
	        private RSTilePath[] LumbPathArray;
	        		
	        public RSTilePath walkToMineCode() {
	        	MinePathArray = new RSTilePath[] {
	                    (new RSTilePath(new RSTile[] {
	                    		 new RSTile(3254, 3427),  new RSTile(3267, 3428), 
	                    		 new RSTile(3280, 3428),  new RSTile(3286, 3415), 
	                    		 new RSTile(3290, 3400),  new RSTile(3292, 3385), 
	                    		 new RSTile(3287, 3374),  new RSTile(3285, 3366)
	                    	 }, this)),

	                  (new RSTilePath(new RSTile[] {
	                			 new RSTile(3256, 3428),  new RSTile(3270, 3428), 
	                			 new RSTile(3284, 3426),  new RSTile(3287, 3411), 
	                			 new RSTile(3292, 3396),  new RSTile(3292, 3383), 
	                			 new RSTile(3288, 3374),  new RSTile(3285, 3367)
	                		}, this)),

	                                    };
	        	
	            int i = random(0, 2);
	            return MinePathArray[i];

}
	        
	        public RSTilePath walkToBankCodeALK() {
	        	BankPathArray = new RSTilePath[] {
	                    (new RSTilePath(new RSTile[] {
	                    		new RSTile(3298, 3317), new RSTile(3298, 3315), 
	                    		new RSTile(3297, 3300), new RSTile(3297, 3294), 
	                    		new RSTile(3296, 3285), new RSTile(3295, 3269), 
	                    		new RSTile(3290, 3253), new RSTile(3287, 3237), 
	                    		new RSTile(3280, 3221), new RSTile(3281, 3205), 
	                    		new RSTile(3282, 3189), new RSTile(3277, 3173), 
	                    		new RSTile(3269, 3167)
	                    	 }, this)),

	                  (new RSTilePath(new RSTile[] {
	                    		new RSTile(3298, random(3316,3318)), new RSTile(3298, 3315), 
	                    		new RSTile(3297, random(3299,3301)), new RSTile(3297, 3294), 
	                    		new RSTile(3296, 3285), new RSTile(3295, 3269), 
	                    		new RSTile(3290, 3253), new RSTile(3287, random(3236,3238)), 
	                    		new RSTile(3280, 3221), new RSTile(3281, 3205), 
	                    		new RSTile(3282, random(3188,3190)), new RSTile(3277, 3173), 
	                    		new RSTile(3269, 3167)
	                		}, this)),

	                                    };
	        	
	            int i = random(0, 2);
	            return BankPathArray[i];

}
	        
	        public RSTilePath walkToMineCodeALK() {
	        	MinePathArray = new RSTilePath[] {
	                    (new RSTilePath(new RSTile[] {
	                    		new RSTile(3274, 3170), new RSTile(3278, 3179), 
	                    		new RSTile(3282, 3194), new RSTile(3285, 3209), 
	                    		new RSTile(3285, 3216), new RSTile(3280, 3224), 
	                    		new RSTile(3284, 3239), new RSTile(3289, 3252), 
	                    		new RSTile(3293, 3267), new RSTile(3293, 3278), 
	                    		new RSTile(3295, 3281), new RSTile(3299, 3295)
	                    	 }, this)),

	                  (new RSTilePath(new RSTile[] {
	                    		new RSTile(3274, 3170), new RSTile(3278, 3179), 
	                    		new RSTile(random(3281,3283), 3194), new RSTile(3285, 3209), 
	                    		new RSTile(3285, 3216), new RSTile(random(3279,3281), 3224), 
	                    		new RSTile(3284, 3239), new RSTile(3289, random(3251,3253)), 
	                    		new RSTile(3293, 3267), new RSTile(3293, 3278), 
	                    		new RSTile(3295, 3281), new RSTile(random(3298,3300), 3295)
	                		}, this)),

	                                    };
	        	
	            int i = random(0, 2);
	            return MinePathArray[i];

}

	        boolean VarrockEast = false;
	        boolean VarrockSWest = false;
	        boolean AlKharid = false;
	        
	        public RSTilePath walkToBankCode() {        	
	            BankPathArray = new RSTilePath[] {	            		
	                    (new RSTilePath(new RSTile[] {
	                    		 new RSTile(3291, 3358),  new RSTile(3286, 3365), 
	                    		 new RSTile(3291, 3377),  new RSTile(3291, 3392), 
	                    		 new RSTile(3290, 3406),  new RSTile(3285, 3418), 
	                    		 new RSTile(3277, 3428),  new RSTile(3265, 3429), 
	                    		 new RSTile(3254, 3426),  new RSTile(3254, 3420)
	                    	 }, this)), 

	                  (new RSTilePath(new RSTile[] {
	                			 new RSTile(3292, 3358),  new RSTile(3286, 3365), 
	                			 new RSTile(3291, 3375),  new RSTile(3291, 3390), 
	                			 new RSTile(3292, 3403),  new RSTile(3286, 3416), 
	                			 new RSTile(3280, 3426),  new RSTile(3267, 3428), 
	                			 new RSTile(3256, 3428),  new RSTile(3254, 3420)
	                		}, this)),

	            		 };
	            int i = random(0, 2);
	            return BankPathArray[i];
	        	        

}
	        
	        public RSTilePath walkToBankCodeVSW() {        	
	            BankPathArray = new RSTilePath[] {	            		
	                    (new RSTilePath(new RSTile[] {
	                    		new RSTile(3183, 3372),  new RSTile(3178, 3382), 
	                    		 new RSTile(3173, 3394),  new RSTile(3170, 3407), 
	                    		 new RSTile(3171, 3419),  new RSTile(3182, 3428), 
	                    		 new RSTile(3185, 3436)
	                    	 }, this)), 

	                  (new RSTilePath(new RSTile[] {
	                		  new RSTile(3183, 3372),  new RSTile(3178, 3382), 
	                    		 new RSTile(random(3172,3174), 3394),  new RSTile(3170, 3407), 
	                    		 new RSTile(random(3170,3172), 3419),  new RSTile(3182, random(3427,3429)), 
	                    		 new RSTile(random(3182,3184), 3436)
	                		}, this)),

	            		 };
	            int i = random(0, 2);
	            return BankPathArray[i];
	        	        

}
	        
	        public RSTilePath walkToMineCodeVSW() {
	        	MinePathArray = new RSTilePath[] {
	                    (new RSTilePath(new RSTile[] {
	                    		 new RSTile(3183, 3430),  new RSTile(3175, 3428), 
	                    		 new RSTile(3171, 3416),  new RSTile(3170, 3403), 
	                    		 new RSTile(3173, 3392),  new RSTile(3178, 3383), 
	                    		 new RSTile(3183, 3371)
	                    	 }, this)),

	                  (new RSTilePath(new RSTile[] {
	                		  new RSTile(random(3182,3184), 3430),  new RSTile(3175, random(3427,3429)), 
	                    		 new RSTile(random(3170,3172), 3416),  new RSTile(3170, random(3402,3404)), 
	                    		 new RSTile(random(3172,3174), random(3391,3393)),  new RSTile(random(3177,3179), 3383), 
	                    		 new RSTile(random(3182,3184), 3371)
	                		}, this)),

	                                    };
	        	
	            int i = random(0, 2);
	            return MinePathArray[i];

}
	        
	    	public boolean atBank() {
	    		return distanceTo(bankTile) < 15;
	    	}

	    	public boolean atMine() {
	    		return distanceTo(mineTile) < 17;
	    	}
	    	
	    	public boolean atLumb() {
	    		return distanceTo(lumbTile) < 17;
	    	}
	    
	    	public RSTile lumbTile = new RSTile(3222,3219);	    
	    	public RSTile bankTile;
	    	public RSTile mineTile;
	        

	        //end walking
	        
	        int             randomRunValue;
	        
	        public int walkBack() {
	        	try {
    	    	if(atMine()) {   	    		
    	    		walkBackP = "- Walked to Mine";
    	    		return random (500,1000);
    	    } else {
    	    	walkToMine();
    	    	walkBackP = "- Walking to Mine";    		
	    		bankP = "- Banked";
	    		
    	    	
    	    }
    	    	return random (500,1000);
	        }
	    	 catch (Exception ex) {
	            return random (500,1000);
	        }
	        }
	        
	        public int walktoLumb() {
	        	try {
    	    	if(atMine()) {   	    		
mine();
    	    } else {
    	    	walkBackL();
    	    	walkBackP = "- Walking to Mine";    		
	    			    	
    	    }
    	    	return random (500,1000);
	        }
	    	 catch (Exception ex) {
	            return random (500,1000);
	        }
	        }
	        
	        public int walkBank() {
	        	try {
    	    	if(atBank()) {   	    		
    	    		dropRocksP = "- Walked to Bank";
    	    		return random (500,1000);
    	    } else {
    	    	dropRocksP = "- Walking to Bank";
	    		walkToBank();	  
	    	
    	    }
    	    	return random(250, 500);
	        }
	    	 catch (Exception ex) {
	            return random (500,1000);
	        }
	        }
	        
	        public void calcPrice() {
	        	int clayCount;
	        	int graniteCount;
	        	int sandstoneCount;
	        	clayCount = getInventoryCount(434) * clayInfo.getMarketPrice();
	        	graniteCount = getInventoryCount(6983) * graniteInfo.getMarketPrice();
	        	sandstoneCount = getInventoryCount(6975) * sandStoneInfo.getMarketPrice();
	        	int adamantCount = getInventoryCount(449) * addyInfo.getMarketPrice();
	        	int tinCount = getInventoryCount(6975) * tinInfo.getMarketPrice();
	        	int copperCount = getInventoryCount(438) * copperInfo.getMarketPrice();
	        	int goldCount = getInventoryCount(444) * goldInfo.getMarketPrice();
	        	int ironCount = getInventoryCount(440) * ironInfo.getMarketPrice();
	        	int mithrilCount = getInventoryCount(447) * mithrilInfo.getMarketPrice();
	        	int runiteCount = getInventoryCount(451) * runeInfo.getMarketPrice();
	        	int silverCount = getInventoryCount(442) * silverInfo.getMarketPrice();	     
				moneyG = moneyG + clayCount + graniteCount + sandstoneCount + adamantCount + tinCount + copperCount + goldCount + ironCount + mithrilCount + runiteCount + silverCount;
	        }
	       
	    	public int bank() {
	    		try {
	    		if(atBank()) {
	    			dropRocksP = "- Walked to Bank";
	    			
	    			if(RSInterface.getInterface(INTERFACE_BANK).isValid()) {
	    			    wait(random(1500,3000));
	    			    oresGot = oresGot + getInventoryCount(ores) ;
	    			    if(RSInterface.getInterface(INTERFACE_BANK).isValid()) {
	    			    	calcPrice();
	    				bank.depositAllExcept(picks);
	    				bank.close();
	    				bankP = "- Banked";
	    	            Runs++;	
	    			    }
	    					
	    				walkBack();
	    				return random(500, 800);
	    			}
	    		else {
	    			if(isInventoryFull()) {
	    					bankP = "- Banking";
	    					RSObject bank = findObject(BankBooth);
	    		            if (bank != null) {
	    		                if (tileOnScreen(bank.getLocation())) {  
	    		                	definatelyAtObject(bank, "Use-quickly");
	    		                    return random(250, 320);
	    		                } else {
	    		                	if (!getMyPlayer().isMoving()) {
	    		                    walkTileRand(bank.getLocation());
	    		                    return random(500, 750);
	    		                	} else {
	    		                		rotate();
	    		                	}
	    		                    return random(500, 750);
	    		                }
	    		        	}   else { 	
    		                	if (!getMyPlayer().isMoving()) {
	    		                    walkTileRand(bankTile);
	    		                    return random(500, 750);
	    		                	}
	    						rotate();
	    					}
	    					}    					    			
	    			 else {
	    				walkBack();
	    			}
	    			}
	    		} else {			
	    			walkBank();
	    			dropRocksP = "- Walking to Bank";
	    				return random(500, 800);
	    			}
	    	} catch (Exception ex) {
	            return random (500,1000);
	        }
	    	return random(500, 800);
	    	}
	        
		   public int checkGetUp() {
		        URLConnection url = null;
		        BufferedReader in = null;
		        BufferedWriter out = null;

		        if(checkVersion() > getVersion()){
		            try{
		
		                    if(JOptionPane.showConfirmDialog(null, "Update found. Do you want to update?") == 0){

		                           JOptionPane.showMessageDialog(null, "Please choose 'NeNiMinE.java' in your scripts folder and hit 'Open'");
		                           JFileChooser fc = new JFileChooser();

		                           if(fc.showOpenDialog(null) == JFileChooser.APPROVE_OPTION){

		                               url = new URL("http://logikscripting.com/nen/NeNiMinE.java").openConnection();
		                            in = new BufferedReader(new InputStreamReader(url.getInputStream()));
		                            out = new BufferedWriter(new FileWriter(fc.getSelectedFile().getPath()));
		                            String inp;

		                            while((inp = in.readLine()) != null){
		                                out.write(inp);
		                                out.newLine();
		                                out.flush();
		                            }
		                            
		                            JOptionPane.showMessageDialog(null, "Script successfully downloaded. Please recompile and reload your scripts!");
		                     
		                           }
		                           
		                    } else 
		                    	log("Update canceled");
		                
		                if(in != null)
		                    in.close();
		                if(out != null)
		                    out.close();		            
		            } catch (IOException e){
		                log("Problem getting version");
		                
		            }
		        } else {
		        	JOptionPane.showMessageDialog(null, "No Update Available, Right Now!");
		        }
		        return random(1550,1203);
		   }
    
    public boolean onStart(Map<String,String> args) {       	
    	new GUIStuff().setVisible(true);  	
    	while (!startScript) {
			wait(10);
		}
    	if (canBank == true) {
    		dropRocksP = "- Walk to Bank";    		
    		bankP = "- Bank";
    		walkBackP = "- Walk to Mine";
    	} else {
    		dropRocksP = "- Drop Rocks";
    	}
    	mineRocksP = "- Unavailable";
        return true;	
    
    }

	public void onFinish() {
    }
    
    public void onRepaint(Graphics g) {
        if (g == null || !isLoggedIn()){
            return;
        }
               
		long hours = 0, minutes = 0, seconds = 0;
		long time;


		if ( startTime == 0 ) {
			startTime = System.currentTimeMillis( );
		}


		time = System.currentTimeMillis( ) - startTime;
		seconds = (time / 1000);
		if ( seconds >= 60 ) {
			minutes = (seconds / 60);
			seconds -= (minutes * 60);
		}
		if ( minutes >= 60 ) {
			hours = (minutes / 60);
			minutes -= (hours * 60);
		}


		if ( startLevel == 0 || startExp == 0 ) {
			startLevel = skills.getCurrentSkillLevel( index );
			startExp = skills.getCurrentSkillExp( index );
			oldExp = 0;
		}


		exp = skills.getCurrentSkillExp( index ) - startExp;
		if ( exp > oldExp ) {
			xpPerRock = exp - oldExp;
			oldExp = exp;
			rockCount++;
			countToNext = (skills.getXPToNextLevel(STAT_MINING) / xpPerRock) + 1;
		}


		levels = skills.getCurrentSkillLevel( index ) - startLevel;
		if ( levels > oldLevels ) {
			oldLevels = levels;
		}


		if ( System.currentTimeMillis( ) - lastAvgCheck >= 60000 )  {
			lastAvgCheck = System.currentTimeMillis( );
			avgPerHour = (rockCount - oldRockCount) * 60;
			oldRockCount = rockCount;
		}
        
        if (showPaint == true) {
    	g.setFont(new Font("Calibri", Font.PLAIN, 12));
        // Text
    	//--------------
    	// Top Box
        g.setColor(new Color(230, 207, 162, 185));
        g.drawString(getName() , 248, 16);//Name
        g.drawString(getAuthor( ) , 248, 28);//Author
		
        g.setColor(new Color(0, 0, 0, 100));
        g.drawString(getName() , 249, 17); //Name Shadow
        g.drawString(getAuthor( ) , 249, 29);//Author Shadow		
        // Background
        g.setColor(new Color(149, 74, 0, 60));		
        g.fillRoundRect(230, 4, 69, 26, 3, 3);
		// Outline
        g.setColor(new Color(202, 101, 0, 185));
        g.drawRoundRect(229, 3, 71, 28, 3, 3);
        
        if (showStatePai == true) {
        //--------------
        // Check List 
        int posx = 362;
        int posy = 254;
        g.setColor(new Color(255, 240, 225, 185));
        g.drawString("Check List" , posx, posy);//Check list
        if (mineRocksP == "- Mining Rocks" || mineRocksP == "- Finding Rocks") {
        	 g.setColor(new Color(255, 255, 0, 185));
        }  
        if (mineRocksP == "- Mined Full Inventory") {
       	 g.setColor(new Color(0, 255, 0, 185));
        }
        g.drawString(mineRocksP , posx, posy + 15);//Mine Rocks   
        
        
        
        if (mineRocksP == "- Mining Rocks" || mineRocksP == "- Finding Rocks") {
       	 g.setColor(new Color(192, 192, 192, 185));
       	 
       }  
       if (mineRocksP == "- Mined Full Inventory" && dropRocksP == "- Dropping Rocks" || mineRocksP == "- Mined Full Inventory" && dropRocksP == "- Walking to Bank") {
      	 g.setColor(new Color(255, 255, 0, 185));
      }         
       if (dropRocksP == "- Dropped All Rocks" || dropRocksP == "- Walked to Bank") {
        	 g.setColor(new Color(0, 255, 0, 185));
        }
        g.drawString(dropRocksP , posx, posy + 30);//Drop Rocks
        
        
      
        	if (canBank == true) {
                if (bankP == "- Bank") {
               	 g.setColor(new Color(192, 192, 192, 185));
                }
            if (bankP == "- Banking" && dropRocksP == "- Walked to Bank") {
           	 g.setColor(new Color(255, 255, 0, 185));
           }  
           if (bankP == "- Banked") {
          	 g.setColor(new Color(0, 255, 0, 185));
           }
        g.drawString(bankP , posx, posy + 45);//Bank Rocks
        
         
          if (walkBackP == "- Walked to Mine") {
         	 g.setColor(new Color(0, 255, 0, 185));
          }
          if (bankP == "- Banked" && walkBackP == "- Walking to Mine") {
           	 g.setColor(new Color(255, 255, 0, 185));
           } 
          if (walkBackP == "- Walk to Mine") {
          	 g.setColor(new Color(192, 192, 192, 185));
           }
        g.drawString(walkBackP, posx, posy + 60);//Walk Back
        }

        int posxs = 363;
        int posys = 255;
        g.setColor(new Color(0, 0, 0, 100));
        g.drawString("Check List" , posxs, posys); //Check list Shadow
        g.drawString(mineRocksP , posxs, posys + 15); //Mine Rocks Shadow
        g.drawString(dropRocksP , posxs, posys + 30); //Drop/Walk Shadow
        if (canBank == true) {
            g.drawString(bankP , posxs, posys + 45);//Bank Rocks
            g.drawString(walkBackP, posxs, posys + 60);//Walk Back
            }
        // Background       
        g.setColor(new Color(149, 74, 0, 60));		
        g.fillRoundRect(356, 240, 158, 98, 3, 3);
		// Outline
        g.setColor(new Color(202, 101, 0, 185));
        g.drawRoundRect(355, 239, 160, 100, 3, 3);
        }
        
        if (showAddedInfoPai == true) {
            int posx = 5;
            int posy = 164;     
            g.setColor(new Color(255, 240, 225, 185));
             g.drawString("Info" , posx, posy);//Info
             g.drawString("________" , posx, posy + 2);//Info
             g.setColor(new Color(255, 240, 225, 160));
             g.drawString("Mining Level: " + skills.getCurrentSkillLevel(STAT_MINING), posx, posy + 15);
             g.drawString("Percent to Next Level: " + skills.getPercentToNextLevel(STAT_MINING), posx, posy + 30);
             g.drawString("Rocks to next level: " + countToNext, posx, posy + 45 );
             g.drawString("Levels Gained: " + levels, posx, posy + 60);
             g.drawString("Mining Rock: " + rockMining, posx, posy + 75);
             g.drawString("Rocks to Mine: " + rockWeM + "," + rockWeM2 + "," + rockWeM3, posx, posy + 90);
             g.drawString("Time running: " + hours + ":" + minutes + "." + seconds, posx, posy + 105);
             g.drawString("Exp Gained: " + exp, posx, posy + 120);
             if (canBank == true) {
                 g.drawString("Money Gained: " + moneyG, posx, posy + 135);
             g.drawString("Runs: " + Runs, posx, posy + 150);
             g.drawString("Ores Banked: " + oresGot, posx, posy + 165);
             }
             int posxs = 6;
             int posys = 165;
             g.setColor(new Color(0, 0, 0, 100));
             g.drawString("Info" , posxs, posys); //Info
             g.drawString("Mining Level: " + skills.getCurrentSkillLevel(STAT_MINING), posxs, posys + 15);
             g.drawString("Percent to Next Level: " + skills.getPercentToNextLevel(STAT_MINING), posxs, posys + 30);
             g.drawString("Rocks to next level: " + countToNext, posxs, posys + 45 );
             g.drawString("Levels Gained: " + levels, posxs, posys + 60);
             g.drawString("Mining Rock: " + rockMining, posxs, posys + 75);
             g.drawString("Rocks to Mine: " + rockWeM + "," + rockWeM2 + "," + rockWeM3, posxs, posys + 90);
             g.drawString("Time running: " + hours + ":" + minutes + "." + seconds, posxs, posys + 105);
             g.drawString("Exp Gained: " + exp, posxs, posys + 120);
             if (canBank == true) {
            	 g.drawString("Money Gained: " + moneyG, posxs, posys + 135);
             g.drawString("Runs: " + Runs, posxs, posys + 150);
             g.drawString("Ores Banked: " + oresGot, posxs, posys + 165);
             }
             
             // Background  
       
            g.setColor(new Color(149, 74, 0, 60));		
            g.fillRoundRect(1, 152, 131 + letters, 184, 3, 3); 
    		// Outline
            g.setColor(new Color(202, 101, 0, 185));
            g.drawRoundRect(0, 151, 132 + letters, 185, 3, 3);
        }
        
        }
    }
    
    public void checkLetters() {
    	if (lettercount + lettercount2 + lettercount3 < 12) {
    		letters = 12;
    	} else {
    		letters = lettercount + lettercount2 + lettercount3 * 3 + 25;
    	}
    }

 public int letters;
   
    
	private int antiBan() {
        int gamble = random(1, 12);

        switch (gamble) {

            case 1:
                return random(500, 750);

            case 2:
            	if (moveMouse == true) {
                int x = random(0, 750);
                int y = random(0, 500);
                moveMouse(0, 0, x, y);
            	}
                return random(500, 750);

            case 3:
            	if (changeTabs == true) {
                openTab(TAB_INVENTORY);
            	}
                return random(500, 750);

            case 4:
            	if (changeTabs == true) {
                if (getMyPlayer().isMoving()) {
                    return random(750, 1000);
                }
                    if (getCurrentTab() != TAB_STATS) {
                        openTab(TAB_STATS);
                    }
                    moveMouse(660, 227, 50, 28);
            	}
                    return random(5000, 8000);
                

            case 5:
            	if (moveCam == true) {
                if (random(1, 8) == 2) {
                    int angle = getCameraAngle() + random(-90, 90);
                    if (angle < 0) {
                        angle = 0;
                    }
                    if (angle > 359) {
                        angle = 0;
                    }

                    setCameraRotation(angle);
                }
            	}

                return random(500, 750);
        }

        return random(500, 750);
    }
	
	public boolean dpWalkPath(RSTile[] path) {
		for(int i = path.length - 1; i >= 0; i--) {
			if(dpWalkTile(path[i])) {
				return true;
			}
		}
		return false;
	}

	public boolean dpWalkTile(RSTile tile) {
		if(distanceTo(tile) <= 16) {
			walkTileMM(tile);
			return true;
		} else {
			return false;
		}
	}
	
	public boolean logout = false;
	public RSTile oldPosition = new RSTile(0,0);	
    int standingCount = 0;
    
	public void standingStill() {
		if ((oldPosition.getX() == getMyPlayer().getLocation().getX())  &&   (oldPosition.getY() == getMyPlayer().getLocation().getY()) ){
			standingCount++;

		}
		if (  (oldPosition.getX() != getMyPlayer().getLocation().getX())  &&   (oldPosition.getY() != getMyPlayer().getLocation().getY())  ){

			oldPosition = new RSTile(getMyPlayer().getLocation().getX(), getMyPlayer().getLocation().getY() )  ;
			standingCount = 0;
		}
		if (getMyPlayer().getInteracting() != null || getMyPlayer().getAnimation() != -1){

			standingCount = 0;
		}
		if (standingCount > 5 && standingCount < 20) {
			rotate();
		}

		if (standingCount > 30) {
			log("We are stuck or lost, so will logout before the BANHAMMER.");
			log("Please post where you got stuck on the forums :)");
			stopAllScripts();
			logout = true;
		}

	}
	
	public void rotate() {
		int rotatedegrees = random(359, 0);
		setCameraRotation(rotatedegrees);
	}
    
    private void randomStuff() {
        int temp = random(1, 50);
        switch (temp) {
        case 1:
        	if (moveMouse == true) {
            moveMouse(random(150, 450), random(100, 300));
        	}
            break;
        case 2:
        	if (changeTabs == true) { 
            openTab(TAB_STATS);
            moveMouse(random(170, 470), random(200, 400));
        	}
            break;
        case 3:
        	if (changeTabs == true) {
            openTab(random(0, 13));
        	}
            break;
        }
    }
    
	public static final int[] pickaxeHeads = new int[] { 480, 482, 484, 486, 488, 490 };
	public static final int[] pickaxeTypes = new int[] { 1275, 1265, 1269, 1267, 1273, 1271 };
	public static final int[] pickaxeBrokens = new int[] { 468, 470, 472, 474, 476, 478 };

	public int miningAnimation = 624;
	
	public void runAway() {
		RSTile run, run2;
		run = getMyPlayer().getLocation();
		setRun(true);
		run2 = new RSTile(run.getX() + random(8, 10), run.getY() + random(8, 10));
		walkTileMM(run2);
		wait(random(1000, 2000));
	}
	
	String mineRocksP = "- ";
	String dropRocksP = "- ";
	String bankP = "- ";
	String walkBackP = "- ";
	String rockMining = "- ";
	
    public void runTheFuckAway()throws InterruptedException {
        	runEnable();
        	rotate();
        	if (VarrockEast == true) {
        	walkToBankCode().walkToEnd();
        	}
        	if (VarrockSWest == true) {
        		walkToBankCodeVSW().walkToEnd();	
        	}  
        	if (AlKharid == true) {
        		walkToBankCodeALK().walkToEnd();	
        	}
    }
    
 public int runNow() {
	 try {
		 runTheFuckAway(); 
	 }
	 catch (Exception ex) {
         return random (500,1000);
     }
	 return random (500,1000);
 }

	
 int walkBackNow = 0;
 
    public int mine() {
    	
    	if (!atMine()) {
    		if (!isInventoryFull()) {
    			walkBack();
    		}
    	}
    	if(getMyPlayer().isInCombat()) {
    		runNow();
    		}
    	if (getMyPlayer().getHPPercent() >= 30) {
    		runNow();
    	}
   
    	
    	if(atBank()) {
    		mineRocksP = "- Mined Full Inventory";
    		bank();
    	}
        	
    	if(isInventoryFull()){
    		if (canBank == true) {
        		mineRocksP = "- Mined Full Inventory";   		
bank();
    		} else {
    		mineRocksP = "- Mined Full Inventory";
    		dropRocksP = "- Dropping Rocks";
                randomStuff();
				antiBan();
				rockMining = "Not Mining";
				if (quickMine == true) {
					Drop();
					dropRocksP = "- Dropped 3 Rocks";
				} else {
    		dropAllExcept(picks);
    		dropRocksP = "- Dropped All Rocks";
				}
    		}
					return antiBan();
    	}
    

		if(getEnergy() >= 65) {
			setRun(true);
			standingStill();
		}
		
		
	    RSObject rocks3 = findObject(RockType3);
	    RSObject rocks2 = findObject(RockType2);
    	RSObject rocks = findObject(RockType);
    	  		if (rocks != null && rocks2 != null && rocks3 != null) {
 mineRocksRan();
    	  		}
    	  		if (rocks != null && rocks2 != null || rocks2 != null && rocks3 != null) {
    	  			 mineRocksRan();
    	  			    	  		}
    	  		if (getMyPlayer().getAnimation() == -1) {
            if (rocks != null) {
                 if (tileOnScreen(rocks.getLocation())) {  
                	definatelyAtObject(rocks, "Mine");
                    rockMining = rockWeM;
                    mineRocksP = "- Mining Rocks";
                    walkBackP = "- Walk to Mine";
                    return random(250, 320);
                } else {
                	if(!getMyPlayer().isMoving() && getMyPlayer().getAnimation() == -1){
                    walkTileRand(rocks.getLocation());
                    return random(250, 320);
                	} else {
                		rotate();
                	}
                    return random(500, 750);
                }
            	
        	}
    	if(rocks2 != null) {
            if (tileOnScreen(rocks2.getLocation())) {       	
            	definatelyAtObject(rocks2, "Mine");
                rockMining = rockWeM2;
                mineRocksP = "- Mining Rocks";
                walkBackP = "- Walk to Mine";
                return random(250, 320);
            } else {
            	if(!getMyPlayer().isMoving() && getMyPlayer().getAnimation() == -1){
                    walkTileRand(rocks2.getLocation());
                    return random(250, 320);
                	} else {
                		rotate();
                	}
                return random(500, 750);
            } 
    		
    	}
    	if(rocks3 != null) {
    		
            if (tileOnScreen(rocks3.getLocation())) {       	
            	definatelyAtObject(rocks3, "Mine");
                rockMining = rockWeM3;
                mineRocksP = "- Mining Rocks";
                walkBackP = "- Walk to Mine";
                return random(250, 320);
            } else {
            	if(!getMyPlayer().isMoving() && getMyPlayer().getAnimation() == -1){
                    walkTileRand(rocks3.getLocation());
                    return random(250, 320);
                	} else {
                		rotate();
                	}
                return random(500, 750);
            }
    		
    	}
    	return random(500, 750);
    	  		}
    	if(rocks == null || rocks2 == null || rocks3 == null) {
    		if (distanceTo(mineTile) >= 4) {
    			if (getMyPlayer().getAnimation() == -1) {
    		walkTileMM(mineTile);
    			}
    		}
    		walkBackP = "- Walk to Mine";
    		mineRocksP = "- Finding Rocks";
    		rockMining = "Not Mining";
    		rotate();
    	return 800;
    	}
    	  	
    	
    	if(getMyPlayer().isMoving()){
			return antiBan();
        }

if(getMyPlayer().getAnimation() == miningAnimation || getMyPlayer().getAnimation() == 625){
	mineRocksP = "- Mining Rocks";     
			return antiBan();
}
    	
    	
    	return(random(500,2000));
    }
    
    public int mineTehRocks() {  
        if(getMyPlayer().getAnimation() == miningAnimation || getMyPlayer().getAnimation() == 625){
        	mineRocksP = "- Mining Rocks";     
        			return antiBan();
        }
        	if (!atMine()) {
        		if (!isInventoryFull()) {
        			walkBack();
        		}
        	}        
        	if(getMyPlayer().isInCombat()) {
        		runNow();
        		}
        	if (getMyPlayer().getHPPercent() >= 30) {
        		runNow();
        	}
        	
        	if(atBank()) {
        		mineRocksP = "- Mined Full Inventory";
        		bank();
        	}
            	
        	if(isInventoryFull()){
        		if (canBank == true) {
            		mineRocksP = "- Mined Full Inventory";   		
    bank();
        		} else {
        		mineRocksP = "- Mined Full Inventory";
        		dropRocksP = "- Dropping Rocks";
                    randomStuff();
    				antiBan();
    				rockMining = "Not Mining";
    				if (quickMine == true) {
    					Drop();
    					dropRocksP = "- Dropped 3 Rocks";
    				} else {
        		dropAllExcept(picks);
        		dropRocksP = "- Dropped All Rocks";
    				}
        		}
    					return antiBan();
        	}
        

    		if(getEnergy() >= 65) {
    			setRun(true);
    			standingStill();
    		}
    		
    	    RSObject rocks3 = findObject(RockType3);
    	    RSObject rocks2 = findObject(RockType2);
        	RSObject rock = findObject(RockType);
    		
        	  		if (rock != null && rocks2 != null && rocks3 != null) {
     mineRocksRan();
        	  		}
        	  		if (rock != null && rocks2 != null || rocks2 != null && rocks3 != null) {
        	  			 mineRocksRan();
        	  			    	  		}
        	  		if (getMyPlayer().getAnimation() == -1) { 
                if (rock != null) {  	          		
                		if(rock !=null && distanceTo(rock.getLocation()) < 8 && !getMyPlayer().isMoving()) {
                			Point One = new Point(Calculations.tileToScreen(rock.getLocation()));
                			Point Two = new Point(One.x + random(-3, 3), One.y + random(-2, 2));
                			moveMouse(Two);
                			clickMouse(true);
                			wait(random(500,750));
                			return(random(10,20));
                			}
                		else{
                			rotate();
                    		if (distanceTo(mineTile) >= 4) {
                    			if (getMyPlayer().getAnimation() == -1) {
                    		walkTileMM(mineTile);
                    			}
                    		}
                          			return(random(5,10));
                			                		
                	}
            	}
        	if(rocks2 != null) {
            		if(rocks2 !=null && distanceTo(rocks2.getLocation()) < 8 && !getMyPlayer().isMoving()) {
            			Point One = new Point(Calculations.tileToScreen(rocks2.getLocation()));
            			Point Two = new Point(One.x + random(-3, 3), One.y + random(-2, 2));
            			moveMouse(Two);
            			clickMouse(true);
            			wait(random(500,750));
            			return(random(10,20));
            			}
            		else{
            			rotate();
                		if (distanceTo(mineTile) >= 4) {
                			if (getMyPlayer().getAnimation() == -1) {
                		walkTileMM(mineTile);
                			}
                		}
            			return(random(5,10));
            			
        		}
        	}
        	if(rocks3 != null) {
            		if(rocks3 !=null && distanceTo(rocks3.getLocation()) < 8 && !getMyPlayer().isMoving()) {
            			Point One = new Point(Calculations.tileToScreen(rocks3.getLocation()));
            			Point Two = new Point(One.x + random(-3, 3), One.y + random(-2, 2));
            			moveMouse(Two);
            			clickMouse(true);
            			wait(random(500,750));
            			return(random(10,20));
            			}
            		else{
            			rotate();
                		if (distanceTo(mineTile) >= 4) {
                			if (getMyPlayer().getAnimation() == -1) {
                		walkTileMM(mineTile);
                			}
                		}
            			return(random(5,10));
            			
        		}
        	}
return(random(5,10));
}
        	if(rock == null || rocks2 == null || rocks3 == null) {
        		if (distanceTo(mineTile) >= 4) {
        			if (getMyPlayer().getAnimation() == -1) {
        		walkTileMM(mineTile);
        			}
        		}
        		walkBackP = "- Walk to Mine";
        		mineRocksP = "- Finding Rocks";
        		rockMining = "Not Mining";
        		rotate();
        	return 800;
        	}
        	  	
        	
        	if(getMyPlayer().isMoving()){
    			return antiBan();
            }
       	
        	
        	return(random(500,2000));
        }
    
    public int mineRocksRan() {
	    RSObject rocks3 = findObject(RockType3);
	    RSObject rocks2 = findObject(RockType2);
    	RSObject rocks = findObject(RockType);
 			int wirock = random(1,3);
  			switch (wirock) {
			case 1:
	            if (rocks != null) {
	            	if (getMyPlayer().getAnimation() == -1) {
	                 if (tileOnScreen(rocks.getLocation())) {  
	                	definatelyAtObject(rocks, "Mine");
	                    rockMining = rockWeM;
	                    mineRocksP = "- Mining Rocks";
	                    walkBackP = "- Walk to Mine";
	                    return random(250, 320);
	                } else {
	                	if(!getMyPlayer().isMoving() && getMyPlayer().getAnimation() == -1){
	                    walkTileRand(rocks.getLocation());
	                    return random(250, 320);
	                	} else {
	                		rotate();
	                	}
	                    return random(500, 750);
	                }
	            	}
	        	}
				return random(500, 750);

			case 2:
		    	if(rocks2 != null) {
		    		if (getMyPlayer().getAnimation() == -1) {
		            if (tileOnScreen(rocks2.getLocation())) {       	
		            	definatelyAtObject(rocks2, "Mine");
		                rockMining = rockWeM2;
		                mineRocksP = "- Mining Rocks";
		                walkBackP = "- Walk to Mine";
		                return random(250, 320);
		            } else {
		            	if(!getMyPlayer().isMoving() && getMyPlayer().getAnimation() == -1){
		                    walkTileRand(rocks2.getLocation());
		                    return random(250, 320);
		                	} else {
		                		rotate();
		                	}
		                return random(500, 750);
		            } 
		    		}
		    	}
				return random(500, 750);

			case 3:
		    	if(rocks3 != null) {
		    		if (getMyPlayer().getAnimation() == -1) {
		            if (tileOnScreen(rocks3.getLocation())) {       	
		            	definatelyAtObject(rocks3, "Mine");
		                rockMining = rockWeM3;
		                mineRocksP = "- Mining Rocks";
		                walkBackP = "- Walk to Mine";
		                return random(250, 320);
		            } else {
		            	if(!getMyPlayer().isMoving() && getMyPlayer().getAnimation() == -1){
		                    walkTileRand(rocks3.getLocation());
		                    return random(250, 320);
		                	} else {
		                		rotate();
		                	}
		                return random(500, 750);
		            }
		    		}
		    	}
				return random(500, 750);
  			}
			return random(250,500);
    }
    
    public int Hover(){
        RSObject rock = getNearestObjectByID(RockType);
        if(rock == null){
            return 50;
        }else if(rock != null){
            Rock = rock.getLocation();
            Point location = Calculations.tileToScreen(Rock);
            Point mouse = getMouseLocation();
            if (location.x == -1 || location.y == -1) return 500;
            if (Math.abs(location.x - mouse.x) <= 5){
                return 300;
            }
            moveMouse(location, 2, 2);
        }
        return 200;
    }
    
    public boolean animationCheck(){
    	if(getMyPlayer().getAnimation() == miningAnimation || getMyPlayer().getAnimation() == 625){
	    return true;
        }else{
	    return false;
	}
    }
    
    public int rockID;
    public RSTile Rock;
    public RSTile playerPos;
   
    
    public int tries = 0;
    
    public RSTile getClosestTile(RSObject o) {
		final RSTile object = o.getLocation();
		final RSTile xu = new RSTile(object.getX() + 1, object.getY());
		final RSTile xd = new RSTile(object.getX() - 1, object.getY());
		final RSTile yu = new RSTile(object.getX(), object.getY() + 1);
		final RSTile yd = new RSTile(object.getX(), object.getY() - 1);
		RSTile closest = xu;
		if (getRealDistanceTo(xd, false) < getRealDistanceTo(closest, false))
			closest = xd;
		if (getRealDistanceTo(yu, false) < getRealDistanceTo(closest, false))
			closest = yu;
		if (getRealDistanceTo(yd, false) < getRealDistanceTo(closest, false))
			closest = yd;
		return closest;

	}
    	
    public boolean definatelyAtObject(RSObject o, String action) {
		boolean success = atObject(o, action);
		if (!success) {
			atTile(o.getLocation(), action);
			success = atObject(o, action);
		}
		if (!success) {
			walkTileMM(getClosestTile(o));
			success = atObject(o, action);
		}
		return success;
	}
    
        private void walkTileRand(RSTile tile) {
            // Local objects:
            RSTile temp = new RSTile(tile.getX() + random(-2, 2), tile.getY()
                    + random(-2, 2));

            walkTileMM(temp);
        }

    public void Drop() { // Thanks Dwuxi
    if (getCurrentTab() == TAB_INVENTORY) {   	
        int xx1 = random(575,580);
        int yy1 = random(379,383);
        int xx2 = random(540,545);
        int yy2 = random(416,424);	
        int xx3 = random(575,580);
        int yy3 = random(402,407);	
        int xx4 = random(540,545);
        int yy4 = random(446,449);
        int xx5 = random(575,580);
        int yy5 = random(440,445);
        int xx6 = random(540,545);
        int yy6 = random(458,463);
        
    clickMouse(xx1,yy1,3,3,false);
    clickMouse(xx2,yy2,3,3,true);
    clickMouse(xx3,yy3,3,3,false);
    clickMouse(xx4,yy4,3,3,true);
    clickMouse(xx5,yy5,3,3,false);
    clickMouse(xx6,yy6,3,3,true);
    } else {
    openTab(TAB_INVENTORY);
    	}

    }
   

public String getTopText() {
	return getMenuItems().get(0).toLowerCase();
}
    
	public int loop() {
		if (!isLoggedIn()) {
			wait(10);
		}
		if (RSInterface.getInterface(378).isValid()) {
			wait(10);
		}
		
    	checkLetters();
    	
    	if (atMine()) {
    		walkBackNow = 0;
    	}
    	
    	if (walkBackNow == 1) {
    		walktoLumb();
    	}
    	
    	if(atLumb()) {
    		walkBackNow = 1;
    		walktoLumb();
    	}
    
    	
    	if (method2mine) {
    	mine();
    	} else if (method1mine) {
    		mineTehRocks();
    	}
    	
    	if (canBank == true ) {
    		if (mineRocksP == "- Mining Rocks" || mineRocksP == "- Finding Rocks") {
    		dropRocksP = "- Walk to Bank";    		
    		bankP = "- Bank";
    		walkBackP = "- Walk to Mine";
    		}
    		if (bankP == "- Bank" || bankP == "- Banking") {
    			walkBackP = "- Walk to Mine";
    		}
    		
        	if (walkBackP == "- Walking to Bank" || dropRocksP == "- Walked to Bank") {
        		mineRocksP = "- Mined Full Inventory";
        	}
    	} else {
    		dropRocksP = "- Drop Rocks";
    	}
    	
    	
		if (equipAxe == true)
		{
			if(inventoryContains(1275)) {
				atInventoryItem(1275, "Wield");
			}
			if(inventoryContains(1265)) {
				atInventoryItem(1265, "Wield");
			}
			if(inventoryContains(1269)) {
				atInventoryItem(1269, "Wield");
			}
			if(inventoryContains(1267)) {
				atInventoryItem(1267, "Wield");
			}
			if(inventoryContains(1273)) {
				atInventoryItem(1273, "Wield");
			}
			if(inventoryContains(1271)) {
				atInventoryItem(1271, "Wield");
			}
		}
		if(isInventoryFull() && atBank() == false) {
			bank();
		}
		if(isInventoryFull() && atBank() == true) {
			bank();
		}
    	if (!isInventoryFull() && atBank() == false){
    		walkBack();
    	}
    	
	return(random(1500,3000));
		}

	public boolean startScript = false;
	
	public void serverMessageRecieved(ServerMessageEvent e) {
		// TODO Auto-generated method stub
		
	}



	@SuppressWarnings("serial")
	class GUIStuff extends javax.swing.JFrame {

	    /** Creates new form GUI */
	    public GUIStuff() {
	        initComponents();
	    }

	    /** This method is called from within the constructor to
	     * initialize the form.
	     * WARNING: Do NOT modify this code. The content of this method is
	     * always regenerated by the Form Editor.
	     */
	    // <editor-fold defaultstate="collapsed" desc="Generated Code">
	    private void initComponents() {

	        buttonGroup1 = new javax.swing.ButtonGroup();
	        jLabel1 = new javax.swing.JLabel();
	        jPanel1 = new javax.swing.JPanel();
	        jLabel2 = new javax.swing.JLabel();
	        yourVersion = new javax.swing.JLabel();
	        CRVersion = new javax.swing.JLabel();
	        jLabel13 = new javax.swing.JLabel();
	        jSeparator5 = new javax.swing.JSeparator();
	        jLabel24 = new javax.swing.JLabel();
	        jScrollPane1 = new javax.swing.JScrollPane();
	        importInfo = new javax.swing.JTextPane();
	        stateOfScript = new javax.swing.JLabel();
	        getStats = new javax.swing.JButton();
	        jTabbedPane1 = new javax.swing.JTabbedPane();
	        jPanel2 = new javax.swing.JPanel();
	        jLabel5 = new javax.swing.JLabel();
	        jLabel6 = new javax.swing.JLabel();
	        jLabel7 = new javax.swing.JLabel();
	        jLabel8 = new javax.swing.JLabel();
	        jLabel9 = new javax.swing.JLabel();
	        jLabel10 = new javax.swing.JLabel();
	        jLabel11 = new javax.swing.JLabel();
	        jLabel12 = new javax.swing.JLabel();
	        jPanel3 = new javax.swing.JPanel();
	        jLabel14 = new javax.swing.JLabel();
	        jLabel15 = new javax.swing.JLabel();
	        firstRockRO = new javax.swing.JComboBox();
	        jLabel16 = new javax.swing.JLabel();
	        secondRockRO = new javax.swing.JComboBox();
	        equipAxeRO = new javax.swing.JCheckBox();
	        quickMiningRO = new javax.swing.JCheckBox();
	        jScrollPane2 = new javax.swing.JScrollPane();
	        rockInfo = new javax.swing.JTextArea();
	        jLabel25 = new javax.swing.JLabel();
	        jLabel26 = new javax.swing.JLabel();
	        thirdRockRO = new javax.swing.JComboBox();
	        method1 = new javax.swing.JRadioButton();
	        jLabel4 = new javax.swing.JLabel();
	        method2 = new javax.swing.JRadioButton();
	        jPanel4 = new javax.swing.JPanel();
	        jLabel17 = new javax.swing.JLabel();
	        jLabel18 = new javax.swing.JLabel();
	        jLabel19 = new javax.swing.JLabel();
	        jTextField1 = new javax.swing.JTextField();
	        jComboBox3 = new javax.swing.JComboBox();
	        jCheckBox2 = new javax.swing.JCheckBox();
	        jTextField2 = new javax.swing.JTextField();
	        jComboBox4 = new javax.swing.JComboBox();
	        jTextField3 = new javax.swing.JTextField();
	        jComboBox5 = new javax.swing.JComboBox();
	        jLabel20 = new javax.swing.JLabel();
	        jLabel21 = new javax.swing.JLabel();
	        jLabel22 = new javax.swing.JLabel();
	        jSeparator2 = new javax.swing.JSeparator();
	        jSeparator3 = new javax.swing.JSeparator();
	        jLabel23 = new javax.swing.JLabel();
	        jSeparator4 = new javax.swing.JSeparator();
	        wishToBank = new javax.swing.JCheckBox();
	        bankName = new javax.swing.JComboBox();
	        whatBankQu = new javax.swing.JLabel();
	        jSeparator6 = new javax.swing.JSeparator();
	        jSeparator7 = new javax.swing.JSeparator();
	        jPanel5 = new javax.swing.JPanel();
	        jLabel27 = new javax.swing.JLabel();
	        jLabel28 = new javax.swing.JLabel();
	        jSeparator8 = new javax.swing.JSeparator();
	        showPaintPI = new javax.swing.JCheckBox();
	        jSeparator9 = new javax.swing.JSeparator();
	        jLabel29 = new javax.swing.JLabel();
	        showStateofPI = new javax.swing.JCheckBox();
	        showAddedInfoPI = new javax.swing.JCheckBox();
	        showScriptInfoPI = new javax.swing.JCheckBox();
	        jSeparator10 = new javax.swing.JSeparator();
	        jLabel30 = new javax.swing.JLabel();
	        jSeparator11 = new javax.swing.JSeparator();
	        jCheckBox9 = new javax.swing.JCheckBox();
	        jSeparator12 = new javax.swing.JSeparator();
	        jLabel31 = new javax.swing.JLabel();
	        jLabel32 = new javax.swing.JLabel();
	        jPanel6 = new javax.swing.JPanel();
	        jLabel33 = new javax.swing.JLabel();
	        jLabel34 = new javax.swing.JLabel();
	        jSeparator13 = new javax.swing.JSeparator();
	        changeTabsAB = new javax.swing.JCheckBox();
	        moveMouseAB = new javax.swing.JCheckBox();
	        moveCamAB = new javax.swing.JCheckBox();
	        jLabel35 = new javax.swing.JLabel();
	        jSeparator14 = new javax.swing.JSeparator();
	        jLabel36 = new javax.swing.JLabel();
	        jCheckBox13 = new javax.swing.JCheckBox();
	        jCheckBox14 = new javax.swing.JCheckBox();
	        jSeparator1 = new javax.swing.JSeparator();
	        startScriptB = new javax.swing.JButton();
	        jLabel3 = new javax.swing.JLabel();
	        checkUpdate = new javax.swing.JButton();

	        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
	        setTitle("NeN - MINE!");
	        setAlwaysOnTop(true);
	        setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
	        setResizable(false);

	        jLabel1.setFont(new java.awt.Font("Agency FB", 0, 36));
	        jLabel1.setText("MINE! - By 'NeN");

	        jPanel1.setBorder(javax.swing.BorderFactory.createEtchedBorder());

	        jLabel2.setFont(new java.awt.Font("Tahoma", 1, 12));
	        jLabel2.setText("WELCOME!!!");

	        yourVersion.setText("Your Version: x.xx");
	        yourVersion.addPropertyChangeListener(new java.beans.PropertyChangeListener() {
	            public void propertyChange(java.beans.PropertyChangeEvent evt) {
	                yourVersionPropertyChange(evt);
	            }
	        });

	        CRVersion.setText("Currently Released Version: x.xx");

	        jLabel13.setText("State of Script:");

	        jSeparator5.setOrientation(javax.swing.SwingConstants.VERTICAL);

	        jLabel24.setFont(new java.awt.Font("Tahoma", 1, 12));
	        jLabel24.setText("IMPORTANT INFO!");

	        importInfo.setBackground(new java.awt.Color(226, 226, 226));
	        importInfo.setEditable(false);
	        importInfo.setText("Some parts of the script are currently disabled or being worked on so please be patient while I try to update all of them! Last Update I had to change some of the check for update stuff because of web server overloads and so I have made a button in which you just click to check for the latest update.");
	        jScrollPane1.setViewportView(importInfo);

	        stateOfScript.setFont(new java.awt.Font("Tahoma", 1, 11));
	        stateOfScript.setText("unknown");

	        getStats.setText("Get Stats");
	        getStats.addActionListener(new java.awt.event.ActionListener() {
	            public void actionPerformed(java.awt.event.ActionEvent evt) {
	                getStatsActionPerformed(evt);
	            }
	        });

	        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
	        jPanel1.setLayout(jPanel1Layout);
	        jPanel1Layout.setHorizontalGroup(
	            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
	            .addGroup(jPanel1Layout.createSequentialGroup()
	                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
	                    .addGroup(jPanel1Layout.createSequentialGroup()
	                        .addContainerGap()
	                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
	                            .addComponent(yourVersion)
	                            .addComponent(CRVersion)))
	                    .addComponent(jLabel2)
	                    .addGroup(jPanel1Layout.createSequentialGroup()
	                        .addContainerGap()
	                        .addComponent(jLabel13)
	                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
	                        .addComponent(stateOfScript))
	                    .addGroup(jPanel1Layout.createSequentialGroup()
	                        .addContainerGap()
	                        .addComponent(getStats)))
	                .addGap(64, 64, 64)
	                .addComponent(jSeparator5, javax.swing.GroupLayout.PREFERRED_SIZE, 12, javax.swing.GroupLayout.PREFERRED_SIZE)
	                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
	                    .addGroup(jPanel1Layout.createSequentialGroup()
	                        .addGap(10, 10, 10)
	                        .addComponent(jLabel24))
	                    .addGroup(jPanel1Layout.createSequentialGroup()
	                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
	                        .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 435, Short.MAX_VALUE)))
	                .addContainerGap())
	        );
	        jPanel1Layout.setVerticalGroup(
	            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
	            .addGroup(jPanel1Layout.createSequentialGroup()
	                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
	                    .addGroup(jPanel1Layout.createSequentialGroup()
	                        .addComponent(jLabel2)
	                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
	                        .addComponent(yourVersion)
	                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
	                        .addComponent(CRVersion)
	                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
	                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
	                            .addComponent(jLabel13)
	                            .addComponent(stateOfScript))
	                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
	                        .addComponent(getStats))
	                    .addGroup(jPanel1Layout.createSequentialGroup()
	                        .addComponent(jLabel24)
	                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
	                        .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 66, javax.swing.GroupLayout.PREFERRED_SIZE))
	                    .addGroup(jPanel1Layout.createSequentialGroup()
	                        .addContainerGap()
	                        .addComponent(jSeparator5, javax.swing.GroupLayout.DEFAULT_SIZE, 93, Short.MAX_VALUE)))
	                .addContainerGap())
	        );

	        jTabbedPane1.setTabPlacement(javax.swing.JTabbedPane.LEFT);

	        jLabel5.setFont(new java.awt.Font("Tahoma", 1, 14));
	        jLabel5.setText("Script Information");

	        jLabel6.setText("Hello,");

	        jLabel7.setText("It is awesome to see you have taken interest in my script/s and so I");

	        jLabel8.setText("wish to explain to you the reason for their creation. I hope to ");

	        jLabel9.setText("evolve the RSBot experience with advanced, flawless and easy to use");

	        jLabel10.setText("scripts. These scripts will have helpful and advanced features on them");

	        jLabel11.setText("to help make your life easier.");

	        jLabel12.setText("Thanks again!");

	        javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
	        jPanel2.setLayout(jPanel2Layout);
	        jPanel2Layout.setHorizontalGroup(
	            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
	            .addGroup(jPanel2Layout.createSequentialGroup()
	                .addContainerGap()
	                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
	                    .addComponent(jLabel5)
	                    .addComponent(jLabel6)
	                    .addComponent(jLabel7)
	                    .addComponent(jLabel8)
	                    .addComponent(jLabel9)
	                    .addComponent(jLabel10)
	                    .addComponent(jLabel11)
	                    .addComponent(jLabel12))
	                .addContainerGap(245, Short.MAX_VALUE))
	        );
	        jPanel2Layout.setVerticalGroup(
	            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
	            .addGroup(jPanel2Layout.createSequentialGroup()
	                .addContainerGap()
	                .addComponent(jLabel5)
	                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
	                .addComponent(jLabel6)
	                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
	                .addComponent(jLabel7)
	                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
	                .addComponent(jLabel8)
	                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
	                .addComponent(jLabel9)
	                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
	                .addComponent(jLabel10)
	                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
	                .addComponent(jLabel11)
	                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
	                .addComponent(jLabel12)
	                .addContainerGap(70, Short.MAX_VALUE))
	        );

	        jTabbedPane1.addTab("Script Info", jPanel2);

	        jLabel14.setFont(new java.awt.Font("Tahoma", 1, 14));
	        jLabel14.setText("Rock/Ore Selection");

	        jLabel15.setText("1st Rock/Ore:");

	        firstRockRO.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Clay", "Copper", "Tin", "Iron", "Silver", "Coal", "Sandstone", "Granite", "Gold", "Mithril", "Adamant", "Runite" }));
	        firstRockRO.addItemListener(new java.awt.event.ItemListener() {
	            public void itemStateChanged(java.awt.event.ItemEvent evt) {
	                firstRockROItemStateChanged(evt);
	            }
	        });
	        firstRockRO.addActionListener(new java.awt.event.ActionListener() {
	            public void actionPerformed(java.awt.event.ActionEvent evt) {
	                firstRockROActionPerformed(evt);
	            }
	        });

	        jLabel16.setText("2nd Rock/Ore:");

	        secondRockRO.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "None", "Clay", "Copper", "Tin", "Iron", "Silver", "Coal", "Sandstone", "Granite", "Gold", "Mithril", "Adamant", "Runite" }));

	        equipAxeRO.setText("Equip Pickaxe?");

	        quickMiningRO.setText("Quick Mining? (Fast Levels)");

	        rockInfo.setBackground(new java.awt.Color(226, 226, 226));
	        rockInfo.setColumns(20);
	        rockInfo.setFont(new java.awt.Font("Monospaced", 0, 11)); // NOI18N
	        rockInfo.setRows(5);
	        rockInfo.setText("Ore: Clay\nGE Mid Price: " + clayInfo.getMarketPrice( ) + "\nBest Place to Power: West Varrock Mine\nBest Place to Bank: West Varrock Mine\n");
	        jScrollPane2.setViewportView(rockInfo);

	        jLabel25.setText("First Rock Info:");

	        jLabel26.setText("3rd Rock/Ore:");

	        thirdRockRO.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "None", "Clay", "Copper", "Tin", "Iron", "Silver", "Coal", "Sandstone", "Granite", "Gold", "Mithril", "Adamant", "Runite" }));

	        buttonGroup1.add(method1);
	        method1.setText("Method 1 (Fast, Human Like, Flawless)");

	        jLabel4.setText("What Mining Method:");

	        buttonGroup1.add(method2);
	        method2.setText("Method 2 (Fast-ish, Clicks near tiles first(Can cause misclicks)");

	        javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
	        jPanel3.setLayout(jPanel3Layout);
	        jPanel3Layout.setHorizontalGroup(
	            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
	            .addGroup(jPanel3Layout.createSequentialGroup()
	                .addContainerGap()
	                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
	                    .addGroup(jPanel3Layout.createSequentialGroup()
	                        .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
	                            .addGroup(jPanel3Layout.createSequentialGroup()
	                                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
	                                    .addGroup(jPanel3Layout.createSequentialGroup()
	                                        .addComponent(jLabel15)
	                                        .addGap(7, 7, 7))
	                                    .addGroup(jPanel3Layout.createSequentialGroup()
	                                        .addComponent(jLabel16)
	                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)))
	                                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
	                                    .addComponent(firstRockRO, 0, 359, Short.MAX_VALUE)
	                                    .addComponent(secondRockRO, 0, 359, Short.MAX_VALUE)
	                                    .addComponent(thirdRockRO, 0, 359, Short.MAX_VALUE))
	                                .addGap(168, 168, 168))
	                            .addGroup(jPanel3Layout.createSequentialGroup()
	                                .addComponent(jLabel14)
	                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)))
	                        .addGap(33, 33, 33))
	                    .addGroup(jPanel3Layout.createSequentialGroup()
	                        .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
	                            .addComponent(equipAxeRO)
	                            .addComponent(quickMiningRO)
	                            .addComponent(method1)
	                            .addComponent(jLabel4)
	                            .addComponent(method2))
	                        .addGap(44, 44, 44)
	                        .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
	                            .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 316, javax.swing.GroupLayout.PREFERRED_SIZE)
	                            .addComponent(jLabel25))
	                        .addGap(119, 119, 119))
	                    .addComponent(jLabel26))
	                .addContainerGap())
	        );
	        jPanel3Layout.setVerticalGroup(
	            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
	            .addGroup(jPanel3Layout.createSequentialGroup()
	                .addContainerGap()
	                .addComponent(jLabel14)
	                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
	                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
	                    .addComponent(jLabel15)
	                    .addComponent(firstRockRO))
	                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
	                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
	                    .addComponent(secondRockRO, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
	                    .addComponent(jLabel16))
	                .addGap(5, 5, 5)
	                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
	                    .addComponent(jLabel26)
	                    .addComponent(thirdRockRO, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
	                .addGap(8, 8, 8)
	                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
	                    .addComponent(equipAxeRO)
	                    .addComponent(jLabel25))
	                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
	                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
	                    .addGroup(jPanel3Layout.createSequentialGroup()
	                        .addComponent(quickMiningRO)
	                        .addGap(3, 3, 3)
	                        .addComponent(jLabel4)
	                        .addGap(1, 1, 1)
	                        .addComponent(method1)
	                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
	                        .addComponent(method2))
	                    .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
	                .addGap(15, 15, 15))
	        );

	        jTabbedPane1.addTab("Rock/Ore", jPanel3);

	        jLabel17.setFont(new java.awt.Font("Tahoma", 1, 14));
	        jLabel17.setText("Additional Options");

	        jLabel18.setText("Change Rocks at Specifics Levels");

	        jLabel19.setText("Level  -  Rock");
	        jLabel19.setEnabled(false);

	        jTextField1.setText("99");
	        jTextField1.setEnabled(false);

	        jComboBox3.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "None", "Clay", "Copper", "Tin", "Iron", "Silver", "Coal", "Sandstone", "Granite", "Gold", "Mithril", "Adamant", "Runite" }));
	        jComboBox3.setEnabled(false);

	        jCheckBox2.setText("Change Rocks?");
	        jCheckBox2.setEnabled(false);

	        jTextField2.setText("99");
	        jTextField2.setEnabled(false);

	        jComboBox4.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "None", "Clay", "Copper", "Tin", "Iron", "Silver", "Coal", "Sandstone", "Granite", "Gold", "Mithril", "Adamant", "Runite" }));
	        jComboBox4.setEnabled(false);

	        jTextField3.setText("99");
	        jTextField3.setEnabled(false);

	        jComboBox5.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "None", "Clay", "Copper", "Tin", "Iron", "Silver", "Coal", "Sandstone", "Granite", "Gold", "Mithril", "Adamant", "Runite" }));
	        jComboBox5.setEnabled(false);

	        jLabel20.setText("-");

	        jLabel21.setText("-");

	        jLabel22.setText("-");

	        jSeparator3.setOrientation(javax.swing.SwingConstants.VERTICAL);

	        jLabel23.setText("Banking Option");

	        wishToBank.setText("Do you wish to bank?");
	        wishToBank.addChangeListener(new javax.swing.event.ChangeListener() {
	            public void stateChanged(javax.swing.event.ChangeEvent evt) {
	                wishToBankStateChanged(evt);
	            }
	        });
	        wishToBank.addItemListener(new java.awt.event.ItemListener() {
	            public void itemStateChanged(java.awt.event.ItemEvent evt) {
	                wishToBankItemStateChanged(evt);
	            }
	        });

	        bankName.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Varrock S-West" }));
	        bankName.setEnabled(false);

	        whatBankQu.setText("What Bank?");
	        whatBankQu.setEnabled(false);

	        javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);
	        jPanel4.setLayout(jPanel4Layout);
	        jPanel4Layout.setHorizontalGroup(
	            jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
	            .addGroup(jPanel4Layout.createSequentialGroup()
	                .addContainerGap()
	                .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
	                    .addComponent(jLabel17)
	                    .addGroup(jPanel4Layout.createSequentialGroup()
	                        .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
	                            .addComponent(jCheckBox2)
	                            .addComponent(jSeparator2, javax.swing.GroupLayout.PREFERRED_SIZE, 129, javax.swing.GroupLayout.PREFERRED_SIZE)
	                            .addComponent(jLabel18)
	                            .addComponent(jSeparator7, javax.swing.GroupLayout.PREFERRED_SIZE, 72, javax.swing.GroupLayout.PREFERRED_SIZE)
	                            .addGroup(jPanel4Layout.createSequentialGroup()
	                                .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
	                                    .addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
	                                    .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
	                                        .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
	                                        .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
	                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
	                                .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
	                                    .addComponent(jLabel22, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
	                                    .addComponent(jLabel21, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
	                                    .addComponent(jLabel20, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
	                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
	                                .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
	                                    .addComponent(jComboBox3, javax.swing.GroupLayout.PREFERRED_SIZE, 74, javax.swing.GroupLayout.PREFERRED_SIZE)
	                                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
	                                        .addComponent(jComboBox4, javax.swing.GroupLayout.PREFERRED_SIZE, 74, javax.swing.GroupLayout.PREFERRED_SIZE)
	                                        .addComponent(jComboBox5, javax.swing.GroupLayout.PREFERRED_SIZE, 74, javax.swing.GroupLayout.PREFERRED_SIZE))))
	                            .addComponent(jLabel19))
	                        .addGap(18, 18, 18)
	                        .addComponent(jSeparator3, javax.swing.GroupLayout.PREFERRED_SIZE, 13, javax.swing.GroupLayout.PREFERRED_SIZE)
	                        .addGap(18, 18, 18)
	                        .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
	                            .addGroup(jPanel4Layout.createSequentialGroup()
	                                .addComponent(whatBankQu)
	                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
	                                .addComponent(bankName, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
	                            .addComponent(jSeparator6, javax.swing.GroupLayout.PREFERRED_SIZE, 72, javax.swing.GroupLayout.PREFERRED_SIZE)
	                            .addComponent(wishToBank)
	                            .addComponent(jSeparator4, javax.swing.GroupLayout.PREFERRED_SIZE, 129, javax.swing.GroupLayout.PREFERRED_SIZE)
	                            .addComponent(jLabel23))))
	                .addGap(267, 267, 267))
	        );
	        jPanel4Layout.setVerticalGroup(
	            jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
	            .addGroup(jPanel4Layout.createSequentialGroup()
	                .addContainerGap()
	                .addComponent(jLabel17)
	                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
	                .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
	                    .addGroup(jPanel4Layout.createSequentialGroup()
	                        .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
	                            .addGroup(jPanel4Layout.createSequentialGroup()
	                                .addComponent(jLabel23)
	                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
	                                .addComponent(jSeparator4, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
	                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
	                                .addComponent(wishToBank)
	                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
	                                .addComponent(jSeparator6, javax.swing.GroupLayout.PREFERRED_SIZE, 5, javax.swing.GroupLayout.PREFERRED_SIZE)
	                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
	                                .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
	                                    .addComponent(bankName, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
	                                    .addComponent(whatBankQu)))
	                            .addComponent(jSeparator3, javax.swing.GroupLayout.DEFAULT_SIZE, 198, Short.MAX_VALUE))
	                        .addContainerGap())
	                    .addGroup(jPanel4Layout.createSequentialGroup()
	                        .addComponent(jLabel18)
	                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
	                        .addComponent(jSeparator2, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
	                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
	                        .addComponent(jCheckBox2)
	                        .addGap(7, 7, 7)
	                        .addComponent(jSeparator7, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
	                        .addGap(1, 1, 1)
	                        .addComponent(jLabel19)
	                        .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
	                            .addGroup(jPanel4Layout.createSequentialGroup()
	                                .addGap(13, 13, 13)
	                                .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
	                                    .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
	                                    .addComponent(jLabel20))
	                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
	                                .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
	                                    .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
	                                    .addComponent(jLabel21))
	                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
	                                .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
	                                    .addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
	                                    .addComponent(jLabel22)))
	                            .addGroup(jPanel4Layout.createSequentialGroup()
	                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
	                                .addComponent(jComboBox3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
	                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
	                                .addComponent(jComboBox4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
	                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
	                                .addComponent(jComboBox5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
	                        .addGap(17, 17, 17))))
	        );

	        jTabbedPane1.addTab("Additional Options", jPanel4);

	        jLabel27.setFont(new java.awt.Font("Tahoma", 1, 14));
	        jLabel27.setText("Paint and Info");

	        jLabel28.setText("Paint");
	        method1.setSelected(true);
	        showPaintPI.setSelected(true);
	        showPaintPI.setText("Do you wish to show paint?");
	        showPaintPI.addItemListener(new java.awt.event.ItemListener() {
	            public void itemStateChanged(java.awt.event.ItemEvent evt) {
	                showPaintPIItemStateChanged(evt);
	            }
	        });

	        jLabel29.setText("What parts of the Paint?");

	        showStateofPI.setSelected(true);
	        showStateofPI.setText("Show State of Player?");

	        showAddedInfoPI.setSelected(true);
	        showAddedInfoPI.setText("Show Added Information?");

	        showScriptInfoPI.setSelected(true);
	        showScriptInfoPI.setText("Show Script Information?");

	        jSeparator10.setOrientation(javax.swing.SwingConstants.VERTICAL);

	        jLabel30.setText("GUI");
	        jLabel30.setEnabled(false);

	        jCheckBox9.setText("Do you wish to show GUI?");
	        jCheckBox9.setEnabled(false);

	        jLabel31.setText("What parts of the GUI?");
	        jLabel31.setEnabled(false);

	        jLabel32.setText("- Guys can you give me some ideas?");
	        jLabel32.setEnabled(false);

	        javax.swing.GroupLayout jPanel5Layout = new javax.swing.GroupLayout(jPanel5);
	        jPanel5.setLayout(jPanel5Layout);
	        jPanel5Layout.setHorizontalGroup(
	            jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
	            .addGroup(jPanel5Layout.createSequentialGroup()
	                .addContainerGap()
	                .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
	                    .addGroup(jPanel5Layout.createSequentialGroup()
	                        .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
	                            .addComponent(showPaintPI)
	                            .addComponent(showScriptInfoPI)
	                            .addComponent(showAddedInfoPI)
	                            .addComponent(showStateofPI)
	                            .addComponent(jLabel28)
	                            .addComponent(jSeparator8, javax.swing.GroupLayout.PREFERRED_SIZE, 65, javax.swing.GroupLayout.PREFERRED_SIZE)
	                            .addComponent(jSeparator9, javax.swing.GroupLayout.PREFERRED_SIZE, 66, javax.swing.GroupLayout.PREFERRED_SIZE)
	                            .addComponent(jLabel29))
	                        .addGap(34, 34, 34)
	                        .addComponent(jSeparator10, javax.swing.GroupLayout.PREFERRED_SIZE, 12, javax.swing.GroupLayout.PREFERRED_SIZE)
	                        .addGap(18, 18, 18)
	                        .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
	                            .addComponent(jLabel32)
	                            .addComponent(jCheckBox9)
	                            .addComponent(jLabel30)
	                            .addComponent(jSeparator11, javax.swing.GroupLayout.PREFERRED_SIZE, 65, javax.swing.GroupLayout.PREFERRED_SIZE)
	                            .addComponent(jSeparator12, javax.swing.GroupLayout.PREFERRED_SIZE, 66, javax.swing.GroupLayout.PREFERRED_SIZE)
	                            .addComponent(jLabel31)))
	                    .addComponent(jLabel27))
	                .addContainerGap(188, Short.MAX_VALUE))
	        );
	        jPanel5Layout.setVerticalGroup(
	            jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
	            .addGroup(jPanel5Layout.createSequentialGroup()
	                .addContainerGap()
	                .addComponent(jLabel27)
	                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
	                .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
	                    .addGroup(jPanel5Layout.createSequentialGroup()
	                        .addComponent(jLabel30)
	                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
	                        .addComponent(jSeparator11, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
	                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
	                        .addComponent(jCheckBox9)
	                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
	                        .addComponent(jSeparator12, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
	                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
	                        .addComponent(jLabel31)
	                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
	                        .addComponent(jLabel32))
	                    .addComponent(jSeparator10, javax.swing.GroupLayout.DEFAULT_SIZE, 198, Short.MAX_VALUE)
	                    .addGroup(jPanel5Layout.createSequentialGroup()
	                        .addComponent(jLabel28)
	                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
	                        .addComponent(jSeparator8, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
	                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
	                        .addComponent(showPaintPI)
	                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
	                        .addComponent(jSeparator9, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
	                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
	                        .addComponent(jLabel29)
	                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
	                        .addComponent(showStateofPI)
	                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
	                        .addComponent(showAddedInfoPI)
	                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
	                        .addComponent(showScriptInfoPI)))
	                .addContainerGap())
	        );

	        jTabbedPane1.addTab("Paint + Info", jPanel5);

	        jLabel33.setFont(new java.awt.Font("Tahoma", 1, 14));
	        jLabel33.setText("AntiBan");

	        jLabel34.setText("AntiBan Options");

	        changeTabsAB.setSelected(true);
	        changeTabsAB.setText("Change Tabs?");

	        moveMouseAB.setSelected(true);
	        moveMouseAB.setText("Move Mouse Occasionally?");

	        moveCamAB.setSelected(true);
	        moveCamAB.setText("Move Camera?");

	        jLabel35.setText("Basic AntiBan");

	        jSeparator14.setOrientation(javax.swing.SwingConstants.VERTICAL);

	        jLabel36.setText("Advanced AntiBan");

	        jCheckBox13.setText("Change and do something else for a bit?");
	        jCheckBox13.setEnabled(false);

	        jCheckBox14.setText("Start a conversation?");
	        jCheckBox14.setEnabled(false);

	        javax.swing.GroupLayout jPanel6Layout = new javax.swing.GroupLayout(jPanel6);
	        jPanel6.setLayout(jPanel6Layout);
	        jPanel6Layout.setHorizontalGroup(
	            jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
	            .addGroup(jPanel6Layout.createSequentialGroup()
	                .addContainerGap()
	                .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
	                    .addGroup(jPanel6Layout.createSequentialGroup()
	                        .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
	                            .addComponent(jSeparator13, javax.swing.GroupLayout.PREFERRED_SIZE, 65, javax.swing.GroupLayout.PREFERRED_SIZE)
	                            .addComponent(moveMouseAB)
	                            .addComponent(changeTabsAB)
	                            .addComponent(jLabel35)
	                            .addComponent(moveCamAB))
	                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
	                        .addComponent(jSeparator14, javax.swing.GroupLayout.PREFERRED_SIZE, 12, javax.swing.GroupLayout.PREFERRED_SIZE)
	                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
	                        .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
	                            .addComponent(jCheckBox14)
	                            .addComponent(jCheckBox13)
	                            .addComponent(jLabel36)))
	                    .addComponent(jLabel34)
	                    .addComponent(jLabel33))
	                .addContainerGap(186, Short.MAX_VALUE))
	        );
	        jPanel6Layout.setVerticalGroup(
	            jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
	            .addGroup(jPanel6Layout.createSequentialGroup()
	                .addContainerGap()
	                .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
	                    .addGroup(jPanel6Layout.createSequentialGroup()
	                        .addComponent(jLabel36)
	                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
	                        .addComponent(jCheckBox13)
	                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
	                        .addComponent(jCheckBox14)
	                        .addGap(24, 24, 24))
	                    .addGroup(jPanel6Layout.createSequentialGroup()
	                        .addComponent(jLabel33)
	                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
	                        .addComponent(jLabel34)
	                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
	                        .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
	                            .addComponent(jSeparator14, javax.swing.GroupLayout.Alignment.TRAILING)
	                            .addGroup(jPanel6Layout.createSequentialGroup()
	                                .addComponent(jSeparator13, javax.swing.GroupLayout.PREFERRED_SIZE, 6, javax.swing.GroupLayout.PREFERRED_SIZE)
	                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
	                                .addComponent(jLabel35)
	                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
	                                .addComponent(changeTabsAB)
	                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
	                                .addComponent(moveMouseAB)
	                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
	                                .addComponent(moveCamAB)))))
	                .addContainerGap(92, Short.MAX_VALUE))
	        );

	        jTabbedPane1.addTab("AntiBan", jPanel6);

	        startScriptB.setText("Start Script");
	        startScriptB.addActionListener(new java.awt.event.ActionListener() {
	            public void actionPerformed(java.awt.event.ActionEvent evt) {
	                startScriptBActionPerformed(evt);
	            }
	        });

	        jLabel3.setText("For any assistance or questions please ask on the topic");

	        checkUpdate.setText("Check Update");
	        checkUpdate.addActionListener(new java.awt.event.ActionListener() {
	            public void actionPerformed(java.awt.event.ActionEvent evt) {
	                checkUpdateActionPerformed(evt);
	            }
	        });

	        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
	        getContentPane().setLayout(layout);
	        layout.setHorizontalGroup(
	            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
	            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
	                .addContainerGap()
	                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
	                    .addComponent(jTabbedPane1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 700, Short.MAX_VALUE)
	                    .addComponent(jPanel1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
	                    .addGroup(layout.createSequentialGroup()
	                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
	                            .addGroup(layout.createSequentialGroup()
	                                .addGap(10, 10, 10)
	                                .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 125, javax.swing.GroupLayout.PREFERRED_SIZE))
	                            .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 168, javax.swing.GroupLayout.PREFERRED_SIZE))
	                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 267, Short.MAX_VALUE)
	                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
	                            .addGroup(layout.createSequentialGroup()
	                                .addComponent(checkUpdate)
	                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
	                                .addComponent(startScriptB))
	                            .addComponent(jLabel3))))
	                .addContainerGap())
	        );
	        layout.setVerticalGroup(
	            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
	            .addGroup(layout.createSequentialGroup()
	                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
	                    .addGroup(layout.createSequentialGroup()
	                        .addComponent(jLabel1)
	                        .addGap(1, 1, 1)
	                        .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE))
	                    .addGroup(layout.createSequentialGroup()
	                        .addContainerGap()
	                        .addComponent(jLabel3)
	                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 26, Short.MAX_VALUE)
	                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
	                            .addComponent(startScriptB)
	                            .addComponent(checkUpdate))))
	                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
	                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
	                .addGap(18, 18, 18)
	                .addComponent(jTabbedPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 248, Short.MAX_VALUE)
	                .addContainerGap())
	        );

	        jTabbedPane1.getAccessibleContext().setAccessibleName("");

	        pack();
	    }// </editor-fold>

	    private void firstRockROActionPerformed(java.awt.event.ActionEvent evt) {                                            
	        // TODO add your handling code here:
	}                                           

	    private void yourVersionPropertyChange(java.beans.PropertyChangeEvent evt) {                                           
	        // TODO add your handling code here:
	    }                                          


	    private void showPaintPIItemStateChanged(java.awt.event.ItemEvent evt) {                                             
	        // TODO add your handling code here:
	        if (showStateofPI.isEnabled()) {

	            showStateofPI.setSelected(false);
	            showAddedInfoPI.setSelected(false);
	            showScriptInfoPI.setSelected(false);

	            showStateofPI.setEnabled(false);
	            showAddedInfoPI.setEnabled(false);
	            showScriptInfoPI.setEnabled(false);
	        }
	        else {
	                        showStateofPI.setSelected(true);
	            showAddedInfoPI.setSelected(true);
	            showScriptInfoPI.setSelected(true);

	            showStateofPI.setEnabled(true);
	            showAddedInfoPI.setEnabled(true);
	            showScriptInfoPI.setEnabled(true);
	        }
	    }                                            

	    private void startScriptBActionPerformed(java.awt.event.ActionEvent evt) {                                             
	        // TODO add your handling code here:
	        // Checkboxes
	       // Equip Pickaxe?

	        if (method1.isSelected()) {
	            method1mine = true;
	        }
	                if (method2.isSelected()) {
	            method2mine = true;
	        }

	            	if (equipAxeRO.isSelected()) {
	            		equipAxe = true;
	            	}
	            	if (quickMiningRO.isSelected()) {
	            	    quickMine = true;
	            	}

	            	// Show Paint?
	            	if (showPaintPI.isSelected()) {
	            	    showPaint = true;
	            	    if (showStateofPI.isSelected()){
	            	    	showStatePai = true;
	            	    }
	            	    if (showScriptInfoPI.isSelected()){
	            	    	showScriptIPai = true;
	            	    }
	            	    if (showAddedInfoPI.isSelected()) {
	            	    	showAddedInfoPai = true;
	            	    }
	            	}

	            	//Anti Ban?
	            	if(changeTabsAB.isSelected()){
	            		changeTabs = true;
	            	}
	            	if(moveCamAB.isSelected()){
	            		moveCam = true;
	            	}
	            	if(moveMouseAB.isSelected()){
	            		moveMouse = true;
	            	}

	            	        // First Rock Option
	            	if (firstRockRO.getSelectedItem() == "Clay") {
	            		RockType = Clay;
	            		rockWeM = "Clay";
	            		lettercount = 4;
	            		
	            	}
	            	if (firstRockRO.getSelectedItem() == "Copper") {
	            		RockType = Copper;
	            		rockWeM = "Copper";
	            		lettercount = 6;
	            	
	            	}
	            	if (firstRockRO.getSelectedItem() == "Tin") {
	            		RockType = Tin;
	            rockWeM = "Tin";
	            lettercount = 3;

	            	}
	            	if (firstRockRO.getSelectedItem() == "Iron") {
	            		RockType = Iron;
	            		rockWeM = "Iron";
	            		lettercount = 4;
	            	
	            		
	            	}
	            	if (firstRockRO.getSelectedItem() == "Silver") {
	            		RockType = Silver;
	            		rockWeM = "Silver";
	            		lettercount = 6;

	            	}
	            	if (firstRockRO.getSelectedItem() == "Coal") {
	            		RockType = Coal;
	            		rockWeM = "Coal";
	            		lettercount = 4;

	            	}
	            	if (firstRockRO.getSelectedItem() == "Sandstone") {
	            		RockType = Sandstone;
	            		rockWeM = "Sandstone";
	            		lettercount = 9;

	            	}
	            	if (firstRockRO.getSelectedItem() == "Granite") {
	            		RockType = Granite;
	            		rockWeM = "Granite";
	            		lettercount = 7;

	            	}
	            	if (firstRockRO.getSelectedItem() == "Gold") {
	            		RockType = Gold;
	            		rockWeM = "Gold";
	            		lettercount = 4;

	            	}
	            	if (firstRockRO.getSelectedItem() == "Mithril") {
	            		RockType = Mithril;
	            		rockWeM = "Mithril";
	            		lettercount = 7;

	            	}
	            	if (firstRockRO.getSelectedItem() == "Adamant") {
	            		RockType = Adamant;
	            		rockWeM = "Adamant";
	            		lettercount = 7;
	            	
	            	}
	            	if (firstRockRO.getSelectedItem() == "Runite") {
	            		RockType = Runite;
	            		rockWeM = "Runite";
	            		lettercount = 6;
	            	
	            	}
	            	// Second Rock Option

	            	if (secondRockRO.getSelectedItem() == "None") {
	            		RockType2 = nullObjects;
	            		rockWeM2 = "None";
	            		lettercount2 = 4;
	            	}
	            	if (secondRockRO.getSelectedItem() == "Clay") {
	            		RockType2 = Clay;
	            		rockWeM2 = "Clay";
	            		lettercount2 = 4;
	            	}
	            	if (secondRockRO.getSelectedItem() == "Copper") {
	            		RockType2 = Copper;
	            		rockWeM2 = "Copper";
	            		lettercount2 = 6;
	            	}
	            	if (secondRockRO.getSelectedItem() == "Tin") {
	            		RockType2 = Tin;
	            		rockWeM2 = "Tin";
	            		lettercount2 = 3;
	            	}
	            	if (secondRockRO.getSelectedItem() == "Iron") {
	            		RockType2 = Iron;
	            		rockWeM2 = "Iron";
	            		lettercount2 = 4;
	            	}
	            	if (secondRockRO.getSelectedItem() == "Silver") {
	            		RockType2 = Silver;
	            		rockWeM2 = "Silver";
	            		lettercount2 = 6;
	            	}
	            	if (secondRockRO.getSelectedItem() == "Coal") {
	            		RockType2 = Coal;
	            		rockWeM2 = "Coal";
	            		lettercount2 = 4;
	            	}
	            	if (secondRockRO.getSelectedItem() == "Sandstone") {
	            		RockType2 = Sandstone;
	            		rockWeM2 = "Sandstone";
	            		lettercount2 = 9;
	            	}
	            	if (secondRockRO.getSelectedItem() == "Granite") {
	            		RockType2 = Granite;
	            		rockWeM2 = "Granite";
	            		lettercount2 = 7;
	            	}
	            	if (secondRockRO.getSelectedItem() == "Gold") {
	            		RockType2 = Gold;
	            		rockWeM2 = "Gold";
	            		lettercount2 = 4;
	            	}
	            	if (secondRockRO.getSelectedItem() == "Mithril") {
	            		RockType2 = Mithril;
	            		rockWeM2 = "Mithril";
	            		lettercount2 = 7;
	            	}
	            	if (secondRockRO.getSelectedItem() == "Adamant") {
	            		RockType2 = Adamant;
	            		rockWeM2 = "Adamant";
	            		lettercount2 = 7;
	            	}
	            	if (secondRockRO.getSelectedItem() == "Runite") {
	            		RockType2 = Runite;
	            		rockWeM2 = "Runite";
	            		lettercount2 = 6;
	            	}
	            	if (thirdRockRO.getSelectedItem() == "None") {
	            		RockType3 = nullObjects;
	            		rockWeM3 = "None";
	            		lettercount3 = 4;
	            	}
	            	if (thirdRockRO.getSelectedItem() == "Clay") {
	            		RockType3 = Clay;
	            		rockWeM3 = "Clay";
	            		lettercount3 = 4;
	            	}
	            	if (thirdRockRO.getSelectedItem() == "Copper") {
	            		RockType3 = Copper;
	            		rockWeM3 = "Copper";
	            		lettercount3 = 6;
	            	}
	            	if (thirdRockRO.getSelectedItem() == "Tin") {
	            		RockType3 = Tin;
	            		rockWeM3 = "Tin";
	            		lettercount3 = 3;
	            	}
	            	if (thirdRockRO.getSelectedItem() == "Iron") {
	            		RockType3 = Iron;
	            		rockWeM3 = "Iron";
	            		lettercount3 = 4;
	            	}
	            	if (thirdRockRO.getSelectedItem() == "Silver") {
	            		RockType3 = Silver;
	            		rockWeM3 = "Silver";
	            		lettercount3 = 6;
	            	}
	            	if (thirdRockRO.getSelectedItem() == "Coal") {
	            		RockType3 = Coal;
	            		rockWeM3 = "Coal";
	            		lettercount3 = 4;
	            	}
	            	if (thirdRockRO.getSelectedItem() == "Sandstone") {
	            		RockType3 = Sandstone;
	            		rockWeM3 = "Sandstone";
	            		lettercount3 = 9;
	            	}
	            	if (thirdRockRO.getSelectedItem() == "Granite") {
	            		RockType3 = Granite;
	            		rockWeM3 = "Granite";
	            		lettercount3 = 7;
	            	}
	            	if (thirdRockRO.getSelectedItem() == "Gold") {
	            		RockType3 = Gold;
	            		rockWeM3 = "Gold";
	            		lettercount3 = 4;
	            	}
	            	if (thirdRockRO.getSelectedItem() == "Mithril") {
	            		RockType3 = Mithril;
	            		rockWeM3 = "Mithril";
	            		lettercount3 = 7;
	            	}
	            	if (thirdRockRO.getSelectedItem() == "Adamant") {
	            		RockType3 = Adamant;
	            		rockWeM3 = "Adamant";
	            		lettercount3 = 7;
	            	}
	            	if (thirdRockRO.getSelectedItem() == "Runite") {
	            		RockType3 = Runite;
	            		rockWeM3 = "Runite";
	            		lettercount3 = 6;
	            	}
	            if(wishToBank.isSelected()) {
	                if(bankName.getSelectedItem() == "Varrock S-West") {
	                	BankBooth = 11402;
	                	bankTile = new RSTile(3185, 3438);
	                	mineTile = new RSTile(3183, 3371);
	                	canBank = true;
	                    VarrockSWest = true;
	                } 
	                if(bankName.getSelectedItem() == "Al-Kharid") {
	                	BankBooth = 35647;
	                		mineTile = new RSTile(3299, 3302);
	                	bankTile = new RSTile(3269, 3167);
	                	canBank = true;
	                    AlKharid = true;
	                }
	                    if(bankName.getSelectedItem() == "Varrock East") {
	                    	BankBooth = 11402;
	                    	canBank = true;
	            	    	bankTile = new RSTile(3253, 3420);
	            	    	mineTile = new RSTile(3285, 3365);
	                    	VarrockEast = true;
	                }
	            }
	            	setVisible(false);
	            	Object justWalktext;
	            	justWalktext = bankName.getSelectedItem();
	            	justWalk = justWalktext.toString();
	            	startScript = true;
	            	    }                                              

	    private void getStatsActionPerformed(java.awt.event.ActionEvent evt) {                                         

	        // TODO add your handling code here:
	        yourVersion.setText("Your Version: " + getVersion());
	        CRVersion.setText("Current Released Version: " + checkVersion());
	if (getVersion() < 1.99) {
	    stateOfScript.setText("BETA");
	} else {
	 stateOfScript.setText("RELEASED");

	}

	    }                                        

	    private void checkUpdateActionPerformed(java.awt.event.ActionEvent evt) {                                            
	        // TODO add your handling code here:
		checkGetUp();
	}                                           

	    private void wishToBankStateChanged(javax.swing.event.ChangeEvent evt) {                                        
	        // TODO add your handling code here:
	    }                                       

	    private void wishToBankItemStateChanged(java.awt.event.ItemEvent evt) {                                            
	        // TODO add your handling code here:
	                        if (bankName.isEnabled()) {
	            bankName.setEnabled(false);
	            whatBankQu.setEnabled(false);
	        } else {
	bankName.setEnabled(true);
	            whatBankQu.setEnabled(true);
	        }
	    }             
	    
	    public String[] VEStr = {"Tin", "Copper","Iron"};
	    public String[] VSStr = {"Tin", "Clay","Iron", "Silver"};
	    public String[] ALKStr = {"Tin", "Copper","Iron", "Silver","Coal", "Gold","Mithril", "Adamant"};
	    private void firstRockROItemStateChanged(java.awt.event.ItemEvent evt) {                                             
	        // TODO add your handling code here:
	        if (firstRockRO.getSelectedItem() == "Clay") {
	        	bankName.setModel(new javax.swing.DefaultComboBoxModel(new String[] {"Varrock S-West"}));
	             rockInfo.setText("Ore: Clay\nGE Mid Price:" + clayInfo.getMarketPrice( ) + "\nBest Place to Power: West Varrock Mine\nBest Place to Bank: West Varrock Mine\n");
	        }
	            if (firstRockRO.getSelectedItem() == "Iron") {
	            	bankName.setModel(new javax.swing.DefaultComboBoxModel(new String[] {"Varrock East", "Varrock S-West", "Al-Kharid"}));
	                     rockInfo.setText("Ore: Iron\nGE Mid Price:" + ironInfo.getMarketPrice( ) +"\nBest Place to Power: Al-Kharid Chasm\nBest Place to Bank: South-east of Varrock\n");
	        }
	                        if (firstRockRO.getSelectedItem() == "Copper") {
	                        	bankName.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Varrock East", "Al-Kharid" }));
	                            rockInfo.setText("Ore: Copper\nGE Mid Price:" + copperInfo.getMarketPrice( ) +"\nBest Place to Power: Eastern Varrock Mine\nBest Place to Bank: Eastern Varrock Mine\n" );
	        }
	                        if (firstRockRO.getSelectedItem() == "Tin") {
	                        	bankName.setModel(new javax.swing.DefaultComboBoxModel(new String[] {"Varrock East", "Varrock S-West", "Al-Kharid"}));
	                            rockInfo.setText("Ore: Tin\nGE Mid Price:" + tinInfo.getMarketPrice( ) +"\nBest Place to Power: Eastern Varrock Mine\nBest Place to Bank: Eastern Varrock Mine\n");
	        }
	                                if (firstRockRO.getSelectedItem() == "Silver") {
	                                	bankName.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Varrock S-West", "Al-Kharid" }));
	                            rockInfo.setText("Ore: " + firstRockRO.getSelectedItem() + "\nGE Mid Price:" + silverInfo.getMarketPrice( ) +"\nBest Place to Power: Crafting Guild\nBest Place to Bank: Al-Kharid Chasm\n");
	        }
	                                        if (firstRockRO.getSelectedItem() == "Gold") {
	                                        	bankName.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Al-Kharid"}));
	                            rockInfo.setText("Ore: " + firstRockRO.getSelectedItem() + "\nGE Mid Price:" + goldInfo.getMarketPrice( ) +"\nBest Place to Power: Crafting Guild\nBest Place to Bank: Crafting Guild\n");
	        }
	                                                if (firstRockRO.getSelectedItem() == "Coal") {
	                                                	bankName.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Al-Kharid"}));
	                            rockInfo.setText("Ore: " + firstRockRO.getSelectedItem() + "\nGE Mid Price:" + coalInfo.getMarketPrice( ) +"\nBest Place to Power: Miners' Guild\nBest Place to Bank: Miners' Guild\n");
	        }
	                                                        if (firstRockRO.getSelectedItem() == "Sandstone") {
	                                                        	bankName.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "None"}));
	                            rockInfo.setText("Ore: " + firstRockRO.getSelectedItem() + "\nGE Mid Price:" + sandStoneInfo.getMarketPrice( ) +"\nBest Place to Power: South-east of Bandit Camp (desert)\nBest Place to Bank: South-east of Bandit Camp (desert)\n");
	        }
	                                                        if (firstRockRO.getSelectedItem() == "Granite") {
	                                                        	bankName.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "None"}));
	                            rockInfo.setText("Ore: " + firstRockRO.getSelectedItem() + "\nGE Mid Price:" + graniteInfo.getMarketPrice( ) +"\nBest Place to Power: South-east of Bandit Camp (desert)\nBest Place to Bank: South-east of Bandit Camp (desert)\n");
	        }
	                                                        if (firstRockRO.getSelectedItem() == "Mithril") {
	                                                        	bankName.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Al-Kharid"}));
	                            rockInfo.setText("Ore: " + firstRockRO.getSelectedItem() + "\nGE Mid Price:" + mithrilInfo.getMarketPrice( ) +"\nBest Place to Power: Mining Guild/Al-Kharid Chasm\nBest Place to Bank: Mining Guild\n");
	        }
	                                                        if (firstRockRO.getSelectedItem() == "Adamant") {
	                                                        	bankName.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Al-Kharid"}));
	                            rockInfo.setText("Ore: " + firstRockRO.getSelectedItem() + "\nGE Mid Price:" + addyInfo.getMarketPrice( ) +"\nBest Place to Power: Hobgoblin Mine\nBest Place to Bank: Dwarven Mines\n");
	        }
	                                                        if (firstRockRO.getSelectedItem() == "Runite") {
	                                                        	bankName.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "None"}));
	                            rockInfo.setText("Ore: " + firstRockRO.getSelectedItem() + "\nGE Mid Price:" + runeInfo.getMarketPrice( ) +"\nBest Place to Power: Heroes' Guild Dungeon\nBest Place to Bank: Heroes' Guild Dungeon\n");
	        }
	    }                                            



	    // Variables declaration - do not modify
	    private javax.swing.JLabel CRVersion;
	    private javax.swing.JComboBox bankName;
	    private javax.swing.ButtonGroup buttonGroup1;
	    private javax.swing.JCheckBox changeTabsAB;
	    private javax.swing.JButton checkUpdate;
	    private javax.swing.JCheckBox equipAxeRO;
	    private javax.swing.JComboBox firstRockRO;
	    private javax.swing.JButton getStats;
	    private javax.swing.JTextPane importInfo;
	    private javax.swing.JCheckBox jCheckBox13;
	    private javax.swing.JCheckBox jCheckBox14;
	    private javax.swing.JCheckBox jCheckBox2;
	    private javax.swing.JCheckBox jCheckBox9;
	    private javax.swing.JComboBox jComboBox3;
	    private javax.swing.JComboBox jComboBox4;
	    private javax.swing.JComboBox jComboBox5;
	    private javax.swing.JLabel jLabel1;
	    private javax.swing.JLabel jLabel10;
	    private javax.swing.JLabel jLabel11;
	    private javax.swing.JLabel jLabel12;
	    private javax.swing.JLabel jLabel13;
	    private javax.swing.JLabel jLabel14;
	    private javax.swing.JLabel jLabel15;
	    private javax.swing.JLabel jLabel16;
	    private javax.swing.JLabel jLabel17;
	    private javax.swing.JLabel jLabel18;
	    private javax.swing.JLabel jLabel19;
	    private javax.swing.JLabel jLabel2;
	    private javax.swing.JLabel jLabel20;
	    private javax.swing.JLabel jLabel21;
	    private javax.swing.JLabel jLabel22;
	    private javax.swing.JLabel jLabel23;
	    private javax.swing.JLabel jLabel24;
	    private javax.swing.JLabel jLabel25;
	    private javax.swing.JLabel jLabel26;
	    private javax.swing.JLabel jLabel27;
	    private javax.swing.JLabel jLabel28;
	    private javax.swing.JLabel jLabel29;
	    private javax.swing.JLabel jLabel3;
	    private javax.swing.JLabel jLabel30;
	    private javax.swing.JLabel jLabel31;
	    private javax.swing.JLabel jLabel32;
	    private javax.swing.JLabel jLabel33;
	    private javax.swing.JLabel jLabel34;
	    private javax.swing.JLabel jLabel35;
	    private javax.swing.JLabel jLabel36;
	    private javax.swing.JLabel jLabel4;
	    private javax.swing.JLabel jLabel5;
	    private javax.swing.JLabel jLabel6;
	    private javax.swing.JLabel jLabel7;
	    private javax.swing.JLabel jLabel8;
	    private javax.swing.JLabel jLabel9;
	    private javax.swing.JPanel jPanel1;
	    private javax.swing.JPanel jPanel2;
	    private javax.swing.JPanel jPanel3;
	    private javax.swing.JPanel jPanel4;
	    private javax.swing.JPanel jPanel5;
	    private javax.swing.JPanel jPanel6;
	    private javax.swing.JScrollPane jScrollPane1;
	    private javax.swing.JScrollPane jScrollPane2;
	    private javax.swing.JSeparator jSeparator1;
	    private javax.swing.JSeparator jSeparator10;
	    private javax.swing.JSeparator jSeparator11;
	    private javax.swing.JSeparator jSeparator12;
	    private javax.swing.JSeparator jSeparator13;
	    private javax.swing.JSeparator jSeparator14;
	    private javax.swing.JSeparator jSeparator2;
	    private javax.swing.JSeparator jSeparator3;
	    private javax.swing.JSeparator jSeparator4;
	    private javax.swing.JSeparator jSeparator5;
	    private javax.swing.JSeparator jSeparator6;
	    private javax.swing.JSeparator jSeparator7;
	    private javax.swing.JSeparator jSeparator8;
	    private javax.swing.JSeparator jSeparator9;
	    private javax.swing.JTabbedPane jTabbedPane1;
	    private javax.swing.JTextField jTextField1;
	    private javax.swing.JTextField jTextField2;
	    private javax.swing.JTextField jTextField3;
	    private javax.swing.JRadioButton method1;
	    private javax.swing.JRadioButton method2;
	    private javax.swing.JCheckBox moveCamAB;
	    private javax.swing.JCheckBox moveMouseAB;
	    private javax.swing.JCheckBox quickMiningRO;
	    private javax.swing.JTextArea rockInfo;
	    private javax.swing.JComboBox secondRockRO;
	    private javax.swing.JCheckBox showAddedInfoPI;
	    private javax.swing.JCheckBox showPaintPI;
	    private javax.swing.JCheckBox showScriptInfoPI;
	    private javax.swing.JCheckBox showStateofPI;
	    private javax.swing.JButton startScriptB;
	    private javax.swing.JLabel stateOfScript;
	    private javax.swing.JComboBox thirdRockRO;
	    private javax.swing.JLabel whatBankQu;
	    private javax.swing.JCheckBox wishToBank;
	    private javax.swing.JLabel yourVersion;
	    // End of variables declaration

	}



}

	
